This is the mail archive of the
mailing list for the binutils project.
Re: gold linker 2.22 regressed for DragonFly
- From: Ian Lance Taylor <iant at google dot com>
- To: John Marino <binutils at marino dot st>
- Cc: binutils at sourceware dot org
- Date: Sun, 01 Jan 2012 18:05:40 -0800
- Subject: Re: gold linker 2.22 regressed for DragonFly
- References: <4ED7FCA6.email@example.com> <firstname.lastname@example.org> <4ED88FA5.email@example.com> <firstname.lastname@example.org> <4EFF3AF3.email@example.com>
John Marino <firstname.lastname@example.org> writes:
> On 12/2/2011 3:27 PM, Ian Lance Taylor wrote:
>> John Marino <email@example.com> writes:
>>> I need to stress that gold built with ld does not have this problem.
>>> It's only gold built with gold that segfaults. Does that affect your
>> Try using the gold option --no-ctors-in-init-array.
> I'm sorry that I had to put this away for a while, but I've picked it
> back up today.
> Gold build with ld will function without segfaults and produces executables.
> Gold build with gold segfaults. It ignores all command-line options.
> I modified the makefile to set optimization level to 0. That let me see
> the values of variables in gdb. Using gdb on ld-new (gold built with
> ld), "print options" on gdb shows a properly defined option set of
> General_options class. Doing the same for ld1 (gold built by gold)
> shows every single option with null pointers. Not even strings like
> "Report usage information" and "Report version information" are included.
> So the problem lies in options.h within the General_options class. I
> have no idea what ld-new is doing wrong such that ld1 can't built its
> option set. These definitions are built with macros though.
Did you try using the --no-ctors-in-init-array option?