Opened 5 years ago

Closed 4 years ago

#1023 closed task (fixed)

Binutils 2.25.1

Reported by: chris@… Owned by: clfs-commits@…
Priority: major Milestone: CLFS Standard 3.1.0
Component: BOOK Version: CLFS Standard GIT
Keywords: Cc: berzerkula@…, jonathan@…, chris@…

Change History (10)

comment:1 Changed 4 years ago by William Harrington

Description: modified (diff)
Milestone: CLFS Standard 3.1.0
Summary: Binutils 2.25Binutils 2.25.1
Version: CLFS Standard GIT

comment:2 Changed 4 years ago by Martin Ward

i build with --enable-threads --enable-plugins, not sure if the threads are needed, but putting --enable-plugins seems to be the standard on various distros

comment:3 in reply to:  2 ; Changed 4 years ago by William Harrington

Replying to blackadder:

i build with --enable-threads --enable-plugins, not sure if the threads are needed, but putting --enable-plugins seems to be the standard on various distros

Do you enable gold as well? The only place I see --enable-threads used is in gold. I'ev never built the gold linker with binutils, but I have read about it and know of others who have used it. As far as I can find, --enable-threads enable mulch-threading for the gold linker.

comment:4 in reply to:  3 ; Changed 4 years ago by Martin Ward

Replying to kb0iic:

Replying to blackadder:

i build with --enable-threads --enable-plugins, not sure if the threads are needed, but putting --enable-plugins seems to be the standard on various distros

Do you enable gold as well? The only place I see --enable-threads used is in gold. I'ev never built the gold linker with binutils, but I have read about it and know of others who have used it. As far as I can find, --enable-threads enable mulch-threading for the gold linker.

No don't use gold as yet, i have read about it but haven't really been that convinced in any notable improvements, don't think there are that many packages that would benefit, most distros are still sticking to the classic linker, but some to do use gold for a few packages

comment:5 in reply to:  4 Changed 4 years ago by William Harrington

Replying to blackadder:

Do you enable gold as well? The only place I see --enable-threads used is in gold. I'ev never built the gold linker with binutils, but I have read about it and know of others who have used it. As far as I can find, --enable-threads enable mulch-threading for the gold linker.

No don't use gold as yet, i have read about it but haven't really been that convinced in any notable improvements, don't think there are that many packages that would benefit, most distros are still sticking to the classic linker, but some to do use gold for a few packages

I eneabled the gold linker this time around, but didn't set it to be the default. I'm building and testing gcc 5.2.0 currently and will check when I get back to the terminal. I see gentoo has a guide about the gold linker, I may go through it and check more out about it. I also included --enable-plugins for this test build.

comment:6 Changed 4 years ago by William Harrington

When enabling the gold linker, we will want to keep bfd ld as the default linker.

Both linkers can be enabled with:

--enable-gold=both or --enable-gold=both/ld

Gold will be installed as ld.gold
BFD ld will be installed as ld.bfd
By default ld.bfd will be isntalled as ld

If the user wishes the gold linker to be default:

--enable-gold=both/gold

My suggest is to add this:

--enable-gold=both/ld --enable-plugins --enable-threads

comment:7 Changed 4 years ago by William Harrington

I'm adding the following for reference for Binutils:

--enable-gold[=ARG]     build gold [ARG={default,yes,no}]
--disable-gold [--enable-ld]
#     Build only ld.  Default option.

--enable-gold [--enable-ld]
#     Build both gold and ld.  Install gold as "ld.gold", install ld
#     as "ld.bfd" and "ld".

--enable-gold=default [--enable-ld]
#     Build both gold and ld.  Install gold as "ld.gold" and "ld",
#     install ld as "ld.bfd".

--enable-gold[=default] --disable-ld
#     Build only gold, which is then installed as both "ld.gold" and "ld".

--enable-gold --enable-ld=default
#     Build both gold (installed as "ld.gold") and ld (installed as "ld"
#     and ld.bfd).
#     In other words, ld is default

This leads to an error:

--enable-gold=default --enable-ld=default

For Gold and LD:

--enable-plugins        Enable support for plugins (defaults no)

For Gold:

--enable-threads        multi-threaded linking

The reference for enabling gold with both or both/ld is here: https://gcc.gnu.org/ml/gcc/2013-12/msg00159.html

You can enable both gold and bfd ld with --enable-gold=both.  Gold will
be installed as ld.gold and bfd ld will be installed as ld.bfd.  By
default, ld.bfd will be installed as ld.  You can use the configure
option, --enable-gold=both/gold to choose gold as the default linker,
ld.  IA-32 binary and X64_64 binary tar balls are configured with
--enable-gold=both/ld --enable-plugins --enable-threads.

comment:8 Changed 4 years ago by William Harrington

Results from x86 to x86_64-64 for binutils 2.25.1:

		=== ld Summary ===

# of expected passes		1151
# of expected failures		57
# of untested testcases		1
# of unsupported tests		12
/sources/binutils-build/ld/ld-new 2.25.1

comment:9 Changed 4 years ago by William Harrington

The aforemetnioned configure options didnt' work for enabling gold and 2.25.1. I had to do the following:

CC="gcc -isystem /usr/include" LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" ../binutils-2.25.1/configure --prefix=/usr --libdir=/usr/lib --enable-shared --disable-multilib --enable-64-bit-bfd --enable-gold=yes --enable-plugins --enable-threads

Apparently both doesn't work with --enable-gold. I'm fine with this default.

Result in binaries:

-rwxr-xr-x 1 root root 95239656 Sep 26 02:11 ld.gold
-rwxr-xr-x 2 root root  2429328 Sep 26 02:11 ld.bfd
-rwxr-xr-x 2 root root  2429328 Sep 26 02:11 ld

comment:10 Changed 4 years ago by William Harrington

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.