From 2e1ed1e3e5fd8dbb7b4e87a16d9be64573af56ef Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Sat, 16 Feb 2002 22:30:35 +0000 Subject: [PATCH] * pa/t-pa, pa/t-pro, pa/som.h: Revert last patch. From-SVN: r49811 --- gcc/ChangeLog | 4 ++++ gcc/config/pa/som.h | 16 ++++++++++++++++ gcc/config/pa/t-pa | 6 +++++- gcc/config/pa/t-pro | 6 ++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1ba0e9c802..144e6c9cebe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-02-16 John David Anglin + + * pa/t-pa, pa/t-pro, som.h: Revert last patch. + 2002-02-16 John David Anglin * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm. diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h index 5b8b198346f..5604f54a435 100644 --- a/gcc/config/pa/som.h +++ b/gcc/config/pa/som.h @@ -351,6 +351,22 @@ readonly_data () \ #define ASM_FILE_END(FILE) output_deferred_plabels (FILE) +/* We want __gcc_plt_call to appear in every program built by + gcc, so we make a reference to it out of __main. + We use the asm statement to fool the optimizer into not + removing the dead (but important) initialization of + REFERENCE. */ + +#define DO_GLOBAL_DTORS_BODY \ +do { \ + extern void __gcc_plt_call (); \ + void (*reference)() = &__gcc_plt_call; \ + func_ptr *p; \ + __asm__ ("" : : "r" (reference)); \ + for (p = __DTOR_LIST__ + 1; *p; ) \ + (*p++) (); \ +} while (0) + /* The .align directive in the HP assembler allows up to a 32 alignment. */ #define MAX_OFILE_ALIGNMENT 32768 diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa index ddb44ab60ed..863e8432015 100644 --- a/gcc/config/pa/t-pa +++ b/gcc/config/pa/t-pa @@ -1,5 +1,9 @@ T_ADAFLAGS=-mdisable-indexing -LIB2FUNCS_EXTRA=quadlib.c +LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c + +lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm + rm -f lib2funcs.asm + cp $(srcdir)/config/pa/lib2funcs.asm . quadlib.c: $(srcdir)/config/pa/quadlib.c rm -f quadlib.c diff --git a/gcc/config/pa/t-pro b/gcc/config/pa/t-pro index 0f523134d06..a47d72f98c9 100644 --- a/gcc/config/pa/t-pro +++ b/gcc/config/pa/t-pro @@ -1,5 +1,7 @@ T_ADAFLAGS=-mdisable-indexing +LIB2FUNCS_EXTRA=lib2funcs.asm + # We want fine grained libraries, so use the new code to build the # floating point emulation libraries. FPBIT = fp-bit.c @@ -11,3 +13,7 @@ dp-bit.c: $(srcdir)/config/fp-bit.c fp-bit.c: $(srcdir)/config/fp-bit.c echo '#define FLOAT' > fp-bit.c cat $(srcdir)/config/fp-bit.c >> fp-bit.c + +lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm + rm -f lib2funcs.asm + cp $(srcdir)/config/pa/lib2funcs.asm .