Subversion Repositories Kolibri OS

Rev

Rev 3480 | Rev 6082 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3480 Rev 5056
Line 35... Line 35...
35
#define RELOC_HIDE(ptr, off)					\
35
#define RELOC_HIDE(ptr, off)					\
36
  ({ unsigned long __ptr;					\
36
  ({ unsigned long __ptr;					\
37
    __asm__ ("" : "=r"(__ptr) : "0"(ptr));		\
37
    __asm__ ("" : "=r"(__ptr) : "0"(ptr));		\
38
    (typeof(ptr)) (__ptr + (off)); })
38
    (typeof(ptr)) (__ptr + (off)); })
Line -... Line 39...
-
 
39
 
-
 
40
/* Make the optimizer believe the variable can be manipulated arbitrarily. */
-
 
41
#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
39
 
42
 
40
#ifdef __CHECKER__
43
#ifdef __CHECKER__
41
#define __must_be_array(arr) 0
44
#define __must_be_array(arr) 0
42
#else
45
#else
43
/* &a[0] degrades to a pointer: a different type from an array */
46
/* &a[0] degrades to a pointer: a different type from an array */
Line 48... Line 51...
48
 * Force always-inline if the user requests it so via the .config,
51
 * Force always-inline if the user requests it so via the .config,
49
 * or if gcc is too old:
52
 * or if gcc is too old:
50
 */
53
 */
51
#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
54
#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
52
    !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
55
    !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
53
# define inline		inline		__attribute__((always_inline))
56
# define inline		inline		__attribute__((always_inline)) notrace
54
# define __inline__	__inline__	__attribute__((always_inline))
57
# define __inline__	__inline__	__attribute__((always_inline)) notrace
55
# define __inline	__inline	__attribute__((always_inline))
58
# define __inline	__inline	__attribute__((always_inline)) notrace
-
 
59
#else
-
 
60
/* A lot of inline functions can cause havoc with function tracing */
-
 
61
# define inline		inline		notrace
-
 
62
# define __inline__	__inline__	notrace
-
 
63
# define __inline	__inline	notrace
56
#endif
64
#endif
Line 57... Line 65...
57
 
65
 
58
#define __deprecated			__attribute__((deprecated))
66
#define __deprecated			__attribute__((deprecated))
59
#define __packed			__attribute__((packed))
67
#define __packed			__attribute__((packed))