freebsd-dev/contrib/gcc/config
David E. O'Brien a6d80351b7 Re-initialize gp after a jsr.
When rtld runs the .fini section in a shared lib (C++), the code in
question from .../contrib/gdb/config/alpha/crtbegin.asm first calls
__do_globals_dtors_aux and then __do_frame_takedown.  Unfortunately, the
value of gp after a jsr is undefined and in this case had changed from before
the call, probably as a result of calling code in some other shared library.
The normal calling convention for alpha is to re-initialize gp using
'ldgp gp,0(ra)' after a jsr instruction but in this case no such
re-initialization is done. This leads to a bogus value being read for the
address of __do_frame_takedown and a quick segfault.

Submitted by:   dfr
Obtained from:  GCC 3.0
2001-08-17 22:54:26 +00:00
..
alpha Re-initialize gp after a jsr. 2001-08-17 22:54:26 +00:00
i386 Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge 2001-03-19 19:50:16 +00:00
sparc Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
aoutos.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
dbx.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
dbxcoff.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
dbxelf.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
elfos.h Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch" 2000-05-27 02:25:28 +00:00
float-i32.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
float-i64.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
float-i128.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
float-i386.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
float-m68k.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
float-sh.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
float-vax.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
fp-bit.c Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
freebsd.h Make it easy for people to use define DWARF2 exceptions unwinding. 2001-05-14 22:45:26 +00:00
gnu.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
gofast.h
interix.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
libgloss.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
linux-aout.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
linux.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:04 +00:00
lynx-ng.h
lynx.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
netbsd.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
nextstep21.h
nextstep.c Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
nextstep.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
openbsd.h Virgin import of the GCC 2.95.2 compilers 1999-11-01 08:28:22 +00:00
psos.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
ptx4.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
README
svr3.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
svr4.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-freebsd Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-gnu Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-libc-ok Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-linux-aout Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-netbsd Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-openbsd Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-openbsd-thread Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
t-rtems Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
t-svr4 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
tm-dwarf2.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
x-interix Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
x-linux Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-linux-aout Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
x-lynx
x-netbsd
x-svr4
xm-alloca.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-freebsd.h This brings rev 1.2 into EGCS 1.1.2. Also tweaks gleemed from EGCS 1999-08-30 10:12:33 +00:00
xm-gnu.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-interix.h Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
xm-linux.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-lynx.h
xm-netbsd.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-openbsd.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-siglist.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-std32.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-svr3.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
xm-svr4.h Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.