1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/contrib/gcc
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
..
config Re-initialize gp after a jsr. 2001-08-17 22:54:26 +00:00
cp Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge 2001-03-19 19:50:16 +00:00
f Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
ginclude
objc Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge 2001-03-19 19:50:16 +00:00
acconfig.h
aclocal.m4
alias.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
alloca.c
ansidecl.h
assert.h
basic-block.h
bc-emit.c
bc-emit.h
bc-optab.c
bc-optab.h
bc-typecd.def
bc-typecd.h
bi-arity.c
bi-defs.h
bi-lexer.c
bi-opcode.c
bi-opname.c
bi-parser.y
bi-reverse.c
bi-run.h
bitmap.c
bitmap.h
BUGS
build-make
bytecode.def
bytecode.h
bytetypes.h
c-aux-info.c
c-common.c Teach gcc about '%+' so it will not warn when using '%+' in a format 2001-05-25 19:00:07 +00:00
c-convert.c
c-decl.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
c-iterate.c
c-lang.c
c-lex.c
c-lex.h
c-parse.gperf
c-parse.in
c-pragma.c
c-pragma.h
c-tree.h
c-typeck.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
caller-save.c
calls.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
cccp.1
cccp.c Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
cexp.y
ChangeLog Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
choose-temp.c
collect2.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
collect2.h
combine.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
conditions.h
config.guess
config.in
config.sub
configure Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
configure.frag
configure.in Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
configure.lang
convert.c
convert.h
COPYING
COPYING.LIB
cplus-dem.c
cpp.1
cpp.texi
cppalloc.c
cpperror.c
cppexp.c
cppfiles.c
cpphash.c
cpphash.h
cppinit.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
cpplib.c
cpplib.h
cppmain.c
cppspec.c
cppulp.c
cross-make
crtstuff.c
cse.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
cstamp-h.in
dbxout.c
dbxout.h
dbxstclass.h
defaults.h
demangle.h
doprint.c
doschk.c
dostage2
dostage3
dwarf2.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:04 +00:00
dwarf2out.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
dwarf2out.h
dwarf.h
dwarfout.c
dwarfout.h
dyn-string.c
dyn-string.h
eh-common.h
emit-rtl.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
enquire.c
except.c Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3 2001-03-24 01:58:31 +00:00
except.h
exgettext
explow.c
expmed.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
expr.c Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3 2001-03-24 01:58:31 +00:00
expr.h Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3 2001-03-24 01:58:31 +00:00
extend.texi
final.c Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge 2001-03-19 19:50:16 +00:00
fix-header.c
fixcpp
fixinc-nt.sed
fixinc.dgux
fixinc.ptx
fixinc.sco
fixinc.svr4
fixinc.winnt
fixincludes
fixproto
flags.h
floatlib.c
flow.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
fold-const.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
fp-test.c
frame.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
frame.h
FREEBSD-deletelist Remove MIPS support. 2001-04-11 00:12:48 +00:00
FREEBSD-libiberty libiberty file list for the 11-July-2000 import. 2001-07-12 19:03:33 +00:00
FREEBSD-upgrade Upgrade instructions that describe the 11-July-2000 import. 2001-01-04 11:21:44 +00:00
FREEBSD-Xlist
FSFChangeLog
function.c Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
function.h
future.options
gansidecl.h
gbl-ctors.h
gcc.1 Correct the version number. 2001-08-01 18:35:54 +00:00
gcc.c Support the environmental var "GCC_OPTIONS". Which can hold a set of 2001-05-29 09:54:45 +00:00
gcc.texi Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
gccspec.c
gcov-io.h
gcov.c
gcov.texi
gcse.c
gen-protos.c
genattr.c
genattrtab.c
gencheck.c
gencodes.c
genconfig.c
genemit.c
genextract.c
genflags.c
gengenrtl.c
genmultilib
genopinit.c
genoutput.c
genpeep.c
genrecog.c
getopt1.c
getopt.c
getopt.h
getpwd.c
glimits.h
global.c
gmon.c
graph.c
gstab.h
gsyms.h
gsyslimits.h
gthr-dce.h
gthr-posix.h
gthr-single.h
gthr-solaris.h
gthr-vxworks.h
gthr.h
haifa-sched.c
halfpic.c
halfpic.h
hard-reg-set.h
hash.c
hash.h
hwint.h
input.h
install.sh
install.texi
integrate.c
integrate.h
intl.c
intl.h
invoke.texi Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
jump.c
just-fixinc
LANGUAGES
lcm.c
libgcc1-test.c
libgcc1.c
libgcc2.c
libiberty.h
limitx.h
limity.h
listing
local-alloc.c
longlong.h
loop.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
loop.h
machmode.def
machmode.h
Makefile.in Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
makefile.vms
mbchar.c
mbchar.h
md.texi
mips-tdump.c
mips-tfile.c
modemap.def
move-if-change
NEWS Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
objc-act.c
objc-act.h
objc-tree.def
obstack.c
obstack.h
ONEWS Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
optabs.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
ORDERS
output.h
patch-apollo-includes
pcp.h
pexecute.c
prefix.c
prefix.h
print-rtl.c
print-tree.c
PROBLEMS
profile.c
PROJECTS
protoize.c
pself1.c
pself2.c
pself3.c
pself4.c
pself5.c
pself.c
README
README-bugs
README-fixinc
README.ACORN
README.ALTOS
README.APOLLO
README.DWARF
README.FRESCO
README.g77
README.NS32K
README.RS6000
README.TRAD
README.X11
real.c
real.h
recog.c
recog.h
reg-stack.c
regclass.c
regmove.c
regs.h
reload1.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
reload.c Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
reload.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
reorg.c
resource.c
resource.h
rtl.c
rtl.def
rtl.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
rtl.texi
rtlanal.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
sbitmap.c
sbitmap.h
scan-decls.c
scan-types.sh
scan.c
scan.h
sched.c
sdbout.c
sdbout.h
SERVICE
sort-protos
splay-tree.c
splay-tree.h
stab.def
stack.h
stmt.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
stor-layout.c
stupid.c
sys-protos.h
sys-types.h
system.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
TESTS.FLUNK
tlink.c
tm.texi
toplev.c Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer 2001-08-16 06:05:18 +00:00
toplev.h
tree.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
tree.def
tree.h Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
typeclass.h
unprotoize.c
unroll.c Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
varasm.c Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3 2001-03-24 01:58:31 +00:00
varray.c
varray.h
version.c Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
xcoffout.c
xcoffout.h

This directory contains the GNU Compiler Collection (GCC) version 2.95.
It includes all of the support for compiling C, C++, Objective C, Fortran,
Java, and Chill.

The GNU Compiler Collection is free software.  See the file COPYING for copying
permission.

See the file gcc.texi (together with other files that it includes) for
installation and porting information.  The file INSTALL contains a
copy of the installation information, as plain ASCII.

Installing this package will create various files in subdirectories of
/usr/local/lib, which are passes used by the compiler and a library
named libgcc.a.  It will also create /usr/local/bin/gcc, which is
the user-level command to do a compilation.

See the Bugs chapter of the GCC Manual for how to report bugs
usefully.  An online readable version of the manual is in the files
gcc.info*.

The files pself.c and pself1.c are not part of GCC.
They are programs that print themselves on standard output.
They were written by Dario Dariol and Giovanni Cozzi, and are
included for your hacking pleasure.  Likewise pself2.c
(Who is the author of that?) and pself3.c (by Vlad Taeerov and Rashit
Fakhreyev).