This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gold linker 2.22 regressed for DragonFly


On 12/2/2011 3:27 PM, Ian Lance Taylor wrote:
> John Marino <binutils@marino.st> 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
>> answer?
> 
> Try using the gold option --no-ctors-in-init-array.
> 
> Ian

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.

John


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]