Copy over the ASM_DECLARE_FUNCTION_SIZE macro from linux64.h. This macro
declares the proper size of a function. Without this macro recent GNU as will complain about with: 'Error: .size expression for main does not evaluate to a constant.' Up to now we produce this: .L.main: .... .size main, .-main With the macro defined the output is this: .L.main: .... .size main,.-.L.main This affects only the 64-bit compiler. Tested with world and kernel on both, 32 and 64-bit powerpc.
This commit is contained in:
parent
355a415e92
commit
8e803f5a7c
@ -253,3 +253,22 @@ extern int dot_symbols;
|
||||
|
||||
#undef NEED_INDICATE_EXEC_STACK
|
||||
#define NEED_INDICATE_EXEC_STACK 1
|
||||
|
||||
/* This is how to declare the size of a function. */
|
||||
#undef ASM_DECLARE_FUNCTION_SIZE
|
||||
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
|
||||
do \
|
||||
{ \
|
||||
if (!flag_inhibit_size_directive) \
|
||||
{ \
|
||||
fputs ("\t.size\t", (FILE)); \
|
||||
if (TARGET_64BIT && DOT_SYMBOLS) \
|
||||
putc ('.', (FILE)); \
|
||||
assemble_name ((FILE), (FNAME)); \
|
||||
fputs (",.-", (FILE)); \
|
||||
rs6000_output_function_entry (FILE, FNAME); \
|
||||
putc ('\n', (FILE)); \
|
||||
} \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user