aix43.h (LINK_SPEC): Add PE initializer.
* config/rs6000/aix43.h (LINK_SPEC): Add PE initializer. (STARTFILE_SPEC): Delete PE crt0.o. * config/rs6000/aix51.h: Same. * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to function descriptor symbol. Use RS6000_OUTPUT_BASENAME. (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME. * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define. From-SVN: r53852
This commit is contained in:
parent
37057f6078
commit
4a6101132a
|
@ -1,3 +1,13 @@
|
|||
2002-05-24 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
|
||||
(STARTFILE_SPEC): Delete PE crt0.o.
|
||||
* config/rs6000/aix51.h: Same.
|
||||
* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
|
||||
function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
|
||||
(ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
|
||||
* config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
|
||||
|
||||
2002-05-24 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* varasm.c (asm_output_bss): Always output one byte.
|
||||
|
|
|
@ -186,18 +186,15 @@ do { \
|
|||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
|
||||
%{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
|
||||
%{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}"
|
||||
%{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
|
||||
%{mpe:-binitfini:poe_remote_main}"
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "%{!shared:\
|
||||
%{mpe:%{pg:/usr/lpp/ppe.poe/lib/gcrt0.o}\
|
||||
%{!pg:%{p:/usr/lpp/ppe.poe/lib/mcrt0.o}\
|
||||
%{!p:/usr/lpp/ppe.poe/lib/crt0.o}}}\
|
||||
%{!mpe:\
|
||||
%{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
|
||||
%{!maix64:\
|
||||
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
|
||||
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}"
|
||||
%{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
|
||||
%{!maix64:\
|
||||
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
|
||||
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
|
||||
|
||||
/* AIX 4.3 typedefs ptrdiff_t as "long" while earlier releases used "int". */
|
||||
|
||||
|
|
|
@ -189,18 +189,15 @@ do { \
|
|||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
|
||||
%{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
|
||||
%{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}"
|
||||
%{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
|
||||
%{mpe:-binitfini:poe_remote_main}"
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "%{!shared:\
|
||||
%{mpe:%{pg:/usr/lpp/ppe.poe/lib/gcrt0.o}\
|
||||
%{!pg:%{p:/usr/lpp/ppe.poe/lib/mcrt0.o}\
|
||||
%{!p:/usr/lpp/ppe.poe/lib/crt0.o}}}\
|
||||
%{!mpe:\
|
||||
%{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
|
||||
%{!maix64:\
|
||||
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
|
||||
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}"
|
||||
%{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
|
||||
%{!maix64:\
|
||||
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
|
||||
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
|
||||
|
||||
/* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */
|
||||
|
||||
|
|
|
@ -2439,12 +2439,14 @@ extern int toc_initialized;
|
|||
do \
|
||||
{ \
|
||||
fputs ("\t.weak\t", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL \
|
||||
&& DEFAULT_ABI == ABI_AIX) \
|
||||
{ \
|
||||
if (TARGET_XCOFF) \
|
||||
fputs ("[DS]", (FILE)); \
|
||||
fputs ("\n\t.weak\t.", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
} \
|
||||
fputc ('\n', (FILE)); \
|
||||
if (VAL) \
|
||||
|
@ -2454,9 +2456,9 @@ extern int toc_initialized;
|
|||
&& DEFAULT_ABI == ABI_AIX) \
|
||||
{ \
|
||||
fputs ("\t.set\t.", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
fputs (",.", (FILE)); \
|
||||
assemble_name ((FILE), (VAL)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (VAL)); \
|
||||
fputc ('\n', (FILE)); \
|
||||
} \
|
||||
} \
|
||||
|
@ -2479,20 +2481,20 @@ extern int toc_initialized;
|
|||
if (!RS6000_WEAK || !DECL_WEAK (DECL)) \
|
||||
{ \
|
||||
fputs ("\t.globl\t.", FILE); \
|
||||
assemble_name (FILE, alias); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, alias); \
|
||||
putc ('\n', FILE); \
|
||||
} \
|
||||
} \
|
||||
else if (TARGET_XCOFF) \
|
||||
{ \
|
||||
fputs ("\t.lglobl\t.", FILE); \
|
||||
assemble_name (FILE, alias); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, alias); \
|
||||
putc ('\n', FILE); \
|
||||
} \
|
||||
fputs ("\t.set\t.", FILE); \
|
||||
assemble_name (FILE, alias); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, alias); \
|
||||
fputs (",.", FILE); \
|
||||
assemble_name (FILE, name); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, name); \
|
||||
fputc ('\n', FILE); \
|
||||
} \
|
||||
ASM_OUTPUT_DEF (FILE, alias, name); \
|
||||
|
|
|
@ -457,6 +457,15 @@ toc_section () \
|
|||
/* This is how we tell the assembler that two symbols have the same value. */
|
||||
#define SET_ASM_OP "\t.set "
|
||||
|
||||
/* This is how we tell the assembler to equate two values. */
|
||||
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
|
||||
do { fprintf ((FILE), "%s", SET_ASM_OP); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, LABEL1); \
|
||||
fprintf (FILE, ","); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, LABEL2); \
|
||||
fprintf (FILE, "\n"); \
|
||||
} while (0)
|
||||
|
||||
/* Used by rs6000_assemble_integer, among others. */
|
||||
#define DOUBLE_INT_ASM_OP "\t.llong\t"
|
||||
|
||||
|
|
Loading…
Reference in New Issue