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
dbx.h
dbxcoff.h
dbxelf.h
elfos.h
float-i32.h
float-i64.h
float-i128.h
float-i386.h
float-m68k.h
float-sh.h
float-vax.h
fp-bit.c
freebsd.h Make it easy for people to use define DWARF2 exceptions unwinding. 2001-05-14 22:45:26 +00:00
gnu.h
gofast.h
interix.h
libgloss.h
linux-aout.h
linux.h
lynx-ng.h
lynx.h
netbsd.h
nextstep21.h
nextstep.c
nextstep.h
openbsd.h
psos.h
ptx4.h
README
svr3.h
svr4.h
t-freebsd
t-gnu
t-libc-ok
t-linux-aout
t-netbsd
t-openbsd
t-openbsd-thread
t-rtems
t-svr4
tm-dwarf2.h
x-interix
x-linux
x-linux-aout
x-lynx
x-netbsd
x-svr4
xm-alloca.h
xm-freebsd.h
xm-gnu.h
xm-interix.h
xm-linux.h
xm-lynx.h
xm-netbsd.h
xm-openbsd.h
xm-siglist.h
xm-std32.h
xm-svr3.h
xm-svr4.h

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.