diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2002-02-16 22:30:35 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2002-02-16 22:30:35 +0000 |
commit | 2e1ed1e3e5fd8dbb7b4e87a16d9be64573af56ef (patch) | |
tree | 7ae13465fa903658004327ca8700bf948b79d09e | |
parent | 604c75b22cadf457a34b3aeed9e677398405ff0d (diff) | |
download | gcc-2e1ed1e3e5fd8dbb7b4e87a16d9be64573af56ef.zip gcc-2e1ed1e3e5fd8dbb7b4e87a16d9be64573af56ef.tar.gz gcc-2e1ed1e3e5fd8dbb7b4e87a16d9be64573af56ef.tar.bz2 |
* pa/t-pa, pa/t-pro, pa/som.h: Revert last patch.
From-SVN: r49811
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/pa/som.h | 16 | ||||
-rw-r--r-- | gcc/config/pa/t-pa | 6 | ||||
-rw-r--r-- | gcc/config/pa/t-pro | 6 |
4 files changed, 31 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1ba0e9..144e6c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca> + * pa/t-pa, pa/t-pro, som.h: Revert last patch. + +2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca> + * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm. * pa/t-pro (LIB2FUNCS_EXTRA): Likewise. * som.h (DO_GLOBAL_DTORS_BODY): Delete define. diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h index 5b8b198..5604f54 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 ddb44ab..863e8432 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 0f52313..a47d72f 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 . |