[RFA:] test-case for relocs for linkonce-excluded sections don't become zero, causing g++ EH failure

Hans-Peter Nilsson hans-peter.nilsson@axis.com
Fri Sep 28 23:51:00 GMT 2001


> Date: Sat, 29 Sep 2001 11:04:48 +0930
> From: Alan Modra <amodra@bigpond.net.au>

> I've fixed the linker as I mentioned needed doing in
> http://sources.redhat.com/ml/binutils/2001-06/msg00530.html

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
<URL: http://sources.redhat.com/ml/binutils/2001-06/msg00413.html >
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.

brgds, H-P



More information about the Binutils mailing list