This is the mail archive of the
mailing list for the binutils project.
Re: [RFA:] test-case for relocs for linkonce-excluded sections don't become zero, causing g++ EH failure
- To: amodra at bigpond dot net dot au
- Subject: Re: [RFA:] test-case for relocs for linkonce-excluded sections don't become zero, causing g++ EH failure
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Date: Sat, 29 Sep 2001 08:47:20 +0200
- CC: hans-peter dot nilsson at axis dot com, geoffk at redhat dot com, binutils at sources dot redhat dot com
> Date: Sat, 29 Sep 2001 11:04:48 +0930
> From: Alan Modra <email@example.com>
> I've fixed the linker as I mentioned needed doing in
Good. Thanks. Though gcc still assumes the wrong thing.
It seems binutils-2.11.2 and later will not work with gcc-3.0
series, for ports alpha, i386, ia64, mips, powerpc (rs6000),
s390 and sparc.
(Judging from grep EH_RETURN_DATA_REGNO, these and no others use
call frame EH.)
Nobody will notice (except for *perhaps* a few test-case
failures) until an exception is thrown at an unfortunate place,
with code compiled with either a different enough gcc version,
or different optimization options than with those a library the
exception passes through was built; just "-O2" for libstdc++-v3.
In my most humble opinion, the linkonce-excluded-zero hack in
and a binutils 2.11.3 with it is called for; I can't think of a
reasonable alternative. Linkonce functionality is an extension
anyway. Relocations against such sections doesn't *have* to
have the same semantics as "normal" sections.