[Gc] boehm-gc breakage between binutils 2.16.1 and 2.17 on FreeBSD[7.2]

Loren James Rittle rittle at latour.labs.mot.com
Wed Sep 2 08:51:01 PDT 2009

In article <238A96A773B3934685A7269CC8A8D042577ADDC667 at GVW0436EXB.americas.hpqcorp.net>,
"Boehm, Hans"<hans.boehm at hp.com> writes:

> I think we're nearing a consensus that this patch is probably the
> best we can do.  Looking at the release history, it looks like
> FreeBSD 7 is about a year and a half old?


> Thus hopefully most people still running something earlier are those
> who never update anything, and thus won't update the GC either?

Actually, it is quite fine if someone running FreeBSD6 or before
updates the GC alone (with or without my proposed patch).  They do not
see the problem or require any fix.  The problem is if someone running
a FreeBSD system without dl_iterate_phdr support updates binutils from
the system copy (based on GNU 2.15 for many releases) to GNU 2.17 or
anything after that.  After that, the installed GC or a newly
installed GC, at the versions that I have tested, will be broken since
_DYNAMIC is not formed as described in the FIXME comment about quirks
of older GNU binutils.  But we can't really fix that problem in GC
since FreeBSD before 7.0 does not have dl_iterate_phdr.  Maybe there
is some other bug/reason why _DYNAMIC is not created "properly" when
using binutils 2.17+, but I have not fully investigated that angle
(nor can I at this time).

The problem might also occur if the base FreeBSD system ever updates
binutils to 2.17+ without reinstating _DYNAMIC creation.

> Interestingly, the posted patch seems to have arrived here with some
> formatting problems, e.g.
> Nonetheless, it's probably better to send patches as attachments.

OK, will resend as an attachment.  pl3 is what I will now submit
against the 6.6 copy in gcc.  pl4 is the version against 7.2alpha2.


2009-09-02  Loren J. Rittle  <ljrittle at acm.org>

	* dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use.
	Define for FreeBSD 7.0+.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pl3
Type: application/octet-stream
Size: 925 bytes
Desc: not available
Url : https://napali.hpl.hp.com/pipermail/gc/attachments/20090902/92b2266e/pl3.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pl4
Type: application/octet-stream
Size: 1599 bytes
Desc: not available
Url : https://napali.hpl.hp.com/pipermail/gc/attachments/20090902/92b2266e/pl4.obj

More information about the Gc mailing list