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: Will the gold linker ever be NON Beta ?


On Thu, Jun 22, 2017 at 11:04 AM, Cary Coutant <ccoutant@gmail.com> wrote:
> On Wed, Jun 21, 2017 at 5:30 PM, Ian Lance Taylor via binutils
> <binutils@sourceware.org> wrote:
>> On Wed, Jun 21, 2017 at 7:17 AM, Gordon McConnell
>> <Gordon.McConnell@synopsys.com> wrote:
>>>
>>> The main binutils page at https://www.gnu.org/software/binutils/ states:
>>>                 gold - A new, faster, ELF only linker, still in beta test.
>>>
>>> I've found some old threads about gold's Beta status - the newest appears to be this one from April 2015:  https://sourceware.org/ml/binutils/2015-04/msg00051.html
>>>
>>> Has anything changed since then, such that the Beta status might be altered any time soon ?
>>
>> As far as I know nothing has changed, which is to say, no GNU/Linux
>> distro has yet chosen to make gold the standard linker.
>
> I'd argue that a better criterion for when to emerge from a beta state
> is feature completeness. The only area that I know of where gold could
> be considered incomplete is in the scripting language support, but
> full support for the Gnu ld scripting language was never a stated goal
> of the project -- the goal was simply to support enough scripting to
> enable the glibc build with gold. I think we're there, but if anyone
> knows anything that's still preventing gold from building glibc,
> please point me to the PR(s) and I'll prioritize those.
>

You can't even use gold to build glibc master since glibc buiild
process modifies the default linker scripts to define some symbols
for sections and gold doesn't have a linker script to modify.
I created hjl/gold branch in glibc git repo so that linker script from
ld can be used with gold.  I got

/usr/local/bin/ld.gold: warning: using 'GLIBC_2.2.5' as version for
'getresuid' which is also named in version 'GLIBC_2.3.2' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.2.5' as version for
'getresgid' which is also named in version 'GLIBC_2.3.2' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.2.5' as version for
'setresuid' which is also named in version 'GLIBC_2.3.2' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.2.5' as version for
'setresgid' which is also named in version 'GLIBC_2.3.2' in script
/usr/local/bin/ld.gold: error:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
multiple definition of 'loc1'
/usr/local/bin/ld.gold:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
previous definition here
/usr/local/bin/ld.gold: error:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
multiple definition of 'loc2'
/usr/local/bin/ld.gold:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
previous definition here
/usr/local/bin/ld.gold: error:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
multiple definition of 'locs'
/usr/local/bin/ld.gold:
/export/build/gnu/glibc-old/build-x86_64-linux/libc_pic.os.clean:
previous definition here
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.3.3' as version for
'gnu_dev_major' which is also named in version 'GLIBC_2.25' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.3.3' as version for
'gnu_dev_minor' which is also named in version 'GLIBC_2.25' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.3.3' as version for
'gnu_dev_makedev' which is also named in version 'GLIBC_2.25' in
script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.12' as version for
'recvmmsg' which is also named in version 'GLIBC_2.17' in script
/usr/local/bin/ld.gold: warning: using 'GLIBC_2.14' as version for
'sendmmsg' which is also named in version 'GLIBC_2.17' in script
collect2: error: ld returned 1 exit status
../Makerules:762: recipe for target
'/export/build/gnu/glibc-old/build-x86_64-linux/libc.so' failed



-- 
H.J.


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