View | Details | Raw Unified | Return to bug 44290 | Differences between
and this patch

Collapse All | Expand All | Context: (Patch / File /
)

(-)linux-2.6.34/include/linux/compiler-gcc.h.~1~ (-1 / +9 lines)
 Lines 58-65    Link Here 
58
 * naked functions because then mcount is called without stack and frame pointer
58
 * naked functions because then mcount is called without stack and frame pointer
59
 * being set up and there is no chance to restore the lr register to the value
59
 * being set up and there is no chance to restore the lr register to the value
60
 * before mcount was called.
60
 * before mcount was called.
61
 *
62
 * The asm() bodies of naked functions often depend on standard calling conventions,
63
 * therefore they must be noinline and noclone.  GCC 4.[56] currently fail to enforce
64
 * this, so we must do so ourselves.  See GCC PR44290.
61
 */
65
 */
62
#define __naked				__attribute__((naked)) notrace
66
#define __naked				__attribute__((naked)) noinline __noclone notrace
63
67
64
#define __noreturn			__attribute__((noreturn))
68
#define __noreturn			__attribute__((noreturn))
65
69
 Lines 85-87    Link Here 
85
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
89
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
86
#define gcc_header(x) _gcc_header(x)
90
#define gcc_header(x) _gcc_header(x)
87
#include gcc_header(__GNUC__)
91
#include gcc_header(__GNUC__)
92
93
#if !defined(__noclone)
94
#define __noclone	/* not needed */
95
#endif
(-)linux-2.6.34/include/linux/compiler-gcc4.h.~1~ (+5 lines)
 Lines 59-61    Link Here 
59
#define __compiletime_warning(message) __attribute__((warning(message)))
59
#define __compiletime_warning(message) __attribute__((warning(message)))
60
#define __compiletime_error(message) __attribute__((error(message)))
60
#define __compiletime_error(message) __attribute__((error(message)))
61
#endif
61
#endif
62
63
/* Mark a function definition as prohibited from being cloned. */
64
#if __GNUC_MINOR__ >= 5
65
#define __noclone	__attribute__((__noclone__))
66
#endif

Return to bug 44290