2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 14:25:49 +00:00

Move BUG_ONs to include/bug.h

We will need futexes to use in PIE code but futex.h
uses BUG_ON helper, so to diet inclusions move BUG_ONs
code to include/bug.h.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Cyrill Gorcunov
2013-02-26 17:08:43 +04:00
committed by Pavel Emelyanov
parent 2badc1d3b0
commit 19cc8a5eb2
2 changed files with 31 additions and 30 deletions

30
include/bug.h Normal file
View File

@@ -0,0 +1,30 @@
#ifndef __CR_BUG_H__
#define __CR_BUG_H__
#include <signal.h>
#include "log.h"
#ifndef BUG_ON_HANDLER
#ifdef CR_NOGLIBC
# define __raise()
#else
# define __raise() raise(SIGABRT)
#endif
# define BUG_ON_HANDLER(condition) \
do { \
if ((condition)) { \
pr_err("BUG at %s:%d\n", __FILE__, __LINE__); \
__raise(); \
*(volatile unsigned long *)NULL = 0xdead0000 + __LINE__; \
} \
} while (0)
#endif /* BUG_ON_HANDLER */
#define BUG_ON(condition) BUG_ON_HANDLER((condition))
#define BUG() BUG_ON(true)
#endif /* __CR_BUG_H__ */

View File

@@ -14,6 +14,7 @@
#include "compiler.h"
#include "asm/types.h"
#include "bug.h"
#include "log.h"
#include "protobuf/vma.pb-c.h"
@@ -31,36 +32,6 @@
#define MEGA(size) PREF_SHIFT_OP(K, <<, size)
#define GIGA(size) PREF_SHIFT_OP(K, <<, size)
#ifndef BUG_ON_HANDLER
#ifdef CR_NOGLIBC
#define BUG_ON_HANDLER(condition) \
do { \
if ((condition)) { \
pr_err("BUG at %s:%d\n", __FILE__, __LINE__); \
*(volatile unsigned long *)NULL = 0xdead0000 + __LINE__; \
} \
} while (0)
#else /* CR_NOGLIBC */
# define BUG_ON_HANDLER(condition) \
do { \
if ((condition)) { \
pr_err("BUG at %s:%d\n", __FILE__, __LINE__); \
raise(SIGABRT); \
*(volatile unsigned long *)NULL = 0xdead0000 + __LINE__; \
} \
} while (0)
#endif /* CR_NOGLIBC */
#endif /* BUG_ON_HANDLER */
#define BUG_ON(condition) BUG_ON_HANDLER((condition))
#define BUG() BUG_ON(true)
/*
* Write buffer @ptr of @size bytes into @fd file
* Returns