History log of /freebsd-12.1/gnu/usr.bin/binutils/ld/Makefile (Results 1 – 25 of 55)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0
# 349a1e57 26-Sep-2019 Ed Maste <[email protected]>

MFS r352754: Add WITH_PIE knob to build Position Independent Executables

MFC r344179: Add WITH_PIE knob to build Position Independent Executables

Building binaries as PIE allows the executable itse

MFS r352754: Add WITH_PIE knob to build Position Independent Executables

MFC r344179: Add WITH_PIE knob to build Position Independent Executables

Building binaries as PIE allows the executable itself to be loaded at a
random address when ASLR is enabled (not just its shared libraries).

With this change PIE objects have a .pieo extension and INTERNALLIB
libraries libXXX_pie.a.

MK_PIE is disabled for some kerberos5 tools, Clang, and Subversion, as
they explicitly reference .a libraries in their Makefiles. These can
be addressed on an individual basis later. MK_PIE is also disabled for
rtld-elf because it is already position-independent using bespoke
Makefile rules.

Currently only dynamically linked binaries will be built as PIE.

MFC r344181: Fix Makefile conditional after r344179

MFC r344182: Use make's :tl instead of checking "no" and "NO"

MFC r344189: Fixup bsd.prog.mk after r344182

MFC r344211: wlandebug: disable PIE to fix build failure

libifconfig is built as a static-only PRIVATELIB (and there is no _pie.a
version) so disable PIE in libifconfig's consumer.

r345489: Fix GNU objdump build under WITH_PIE

Explicitly specified bare .a libraries need ${PIE_SUFFIX}.

r345490: Apply WITH_PIE changes to other binutils components

Followon to r345489, explicitly specified bare .a libraries need
${PIE_SUFFIX} (although these still built).

r345778: Fix gdb/kgdb build under WITH_PIE

Explicitly specified bare .a libraries need ${PIE_SUFFIX}.

Approved by: re (gjb)
Sponsored by: The FreeBSD Foundation

show more ...


Revision tags: release/11.3.0, release/12.0.0, release/11.2.0
# d74021d6 20-Jun-2018 Bryan Drewery <[email protected]>

Rework how the ld link is handled in WORLDTMP from r322811.

LLD_BOOTSTRAP (build) is independent of LLD_IS_LD (installed) so they
should not be based on each other.

This is related to upcoming WITH

Rework how the ld link is handled in WORLDTMP from r322811.

LLD_BOOTSTRAP (build) is independent of LLD_IS_LD (installed) so they
should not be based on each other.

This is related to upcoming WITH_SYSTEM_LINKER work.

Reviewed by: emaste
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D15836

show more ...


# 337981bd 04-Mar-2018 Ed Maste <[email protected]>

When lld is ld, install bfd's man page as ld.bfd.1

When WITH_LLD_IS_LD is set, lld's man page is installed as ld.1.gz, as
was GNU BFD's man page prior to this change.

Reported by: Tobias Kortkamp
S

When lld is ld, install bfd's man page as ld.bfd.1

When WITH_LLD_IS_LD is set, lld's man page is installed as ld.1.gz, as
was GNU BFD's man page prior to this change.

Reported by: Tobias Kortkamp
Sponsored by: The FreeBSD Foundation

show more ...


# 635718c0 31-Oct-2017 Bryan Drewery <[email protected]>

Rename RELTOP since it will mean something else globally.

Sponsored by: Dell EMC Isilon


Revision tags: release/10.4.0, release/11.1.0
# f52e4bdf 27-Jan-2017 Ed Maste <[email protected]>

Rename LLD_AS_LD to LLD_IS_LD, for consistency with CLANG_IS_CC

Reported by: Dan McGregor <dan.mcgregor usask.ca>


# 0aa5466e 25-Nov-2016 Ed Maste <[email protected]>

Add WITH_LLD_AS_LD build knob

If set it installs LLD as /usr/bin/ld. LLD (as of version 3.9) is not
capable of linking the world and kernel, but can self-host and link many
substantial applications

Add WITH_LLD_AS_LD build knob

If set it installs LLD as /usr/bin/ld. LLD (as of version 3.9) is not
capable of linking the world and kernel, but can self-host and link many
substantial applications. GNU ld continues to be used for the world and
kernel build, regardless of how this knob is set.

It is on by default for arm64, and off for all other CPU architectures.

Sponsored by: The FreeBSD Foundation

show more ...


Revision tags: release/11.0.1, release/11.0.0, release/10.3.0
# dbecd1bf 07-Jan-2016 Ed Maste <[email protected]>

Switch GNU ld to be installed as ld.bfd and linked as ld

We intend to replace GNU ld with LLVM's lld, and on the path to there
we'll experiment with having lld installed or linked as /usr/bin/ld.
Th

Switch GNU ld to be installed as ld.bfd and linked as ld

We intend to replace GNU ld with LLVM's lld, and on the path to there
we'll experiment with having lld installed or linked as /usr/bin/ld.
Thus, make ld.bfd the primary install target for GNU ld, to later
facilitate making the ld link optional.

Reviewed by: davide, dim
Differential Revision: https://reviews.freebsd.org/D4790

show more ...


# e7beaf99 23-Dec-2015 Ed Maste <[email protected]>

Install ld also as ld.bfd, for use with cc -fuse-ld=bfd

PR: 205409 [exp-run]
MFC after: 1 week
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


# b791fbe6 25-Nov-2015 Bryan Drewery <[email protected]>

META MODE: Don't create .meta files when symlinking sources into the obj directory.

Tracking these leads to situations where meta mode will consider the
file to be out of date if /bin/sh or /bin/ln

META MODE: Don't create .meta files when symlinking sources into the obj directory.

Tracking these leads to situations where meta mode will consider the
file to be out of date if /bin/sh or /bin/ln are newer than the source
file. There's no reason for meta mode to do this as make is already
handling the rebuild dependency fine.

Sponsored by: EMC / Isilon Storage Division

show more ...


# 8b2b71b4 24-Nov-2015 Bryan Drewery <[email protected]>

Fix ld not respecting --sysroot.

ld(1) uses the /usr/libdata/ldscripts when linking. These scripts add in the
default search paths of /lib and /usr/lib via 'SEARCH_DIR("DIR")'. These
need to be pref

Fix ld not respecting --sysroot.

ld(1) uses the /usr/libdata/ldscripts when linking. These scripts add in the
default search paths of /lib and /usr/lib via 'SEARCH_DIR("DIR")'. These
need to be prefixed by '=' so that the --sysroot flag is respected. This
is not a problem with buildworld since the TOOLS_PREFIX is baked into the
cross-ld. However it is a problem when trying to use ld(1) with --sysroot
anywhere else as it ends up still reading /lib and /usr/lib despite --sysroot.

The default --sysroot (TARGET_SYSTEM_ROOT) is '/' for /usr/bin/ld.

I found this while building with META MODE with uses only --sysroot with
/usr/bin/ld, and found that libraries that I had not built in its sysroot
directory were leaking in. This didn't happen with ports binutils either. This
would also impact external compiler support.

Reviewed by: bapt, brooks
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D4262

show more ...


# dabaad66 25-Sep-2015 Bryan Drewery <[email protected]>

Fix subdir -j build after r287983 by adding missing dependencies.

Sponsored by: EMC / Isilon Storage Division


# ef59fb82 25-Sep-2015 Bryan Drewery <[email protected]>

Fix emulation ldscripts not being installed since r131832.

For example, 32bit scripts on 64bit host.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 092a37c9 21-Sep-2015 Bryan Drewery <[email protected]>

Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCII
scripts that the linker can load rather than binary library objects.

Effectively no change.

Suggested by: hrs


# 3adbeacc 19-Sep-2015 Bryan Drewery <[email protected]>

Replace afterinstall: hack with FILES mechanism.

Sponsored by: EMC / Isilon Storage Division


Revision tags: release/10.2.0, release/10.1.0, release/9.3.0
# e7d939bd 07-Jul-2014 Marcel Moolenaar <[email protected]>

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in com

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in comments and documentation

This excludes:
o Everything under contrib/
o Everything under crypto/
o sys/xen/interface
o sys/sys/elf_common.h

Discussed at: BSDcan

show more ...


# c6063d0d 06-May-2014 Warner Losh <[email protected]>

Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.


Revision tags: release/10.0.0
# 2fda6dbc 01-Nov-2013 Brooks Davis <[email protected]>

Reimplement r257525 such that it work with the historic FreeBSD make
implementation. This fixes the toolchain and kernel-toolchain targets
when building from older FreeBSD versions where make is fma

Reimplement r257525 such that it work with the historic FreeBSD make
implementation. This fixes the toolchain and kernel-toolchain targets
when building from older FreeBSD versions where make is fmake.

Reported by: luigi
Sponsored by: DARPA/AFRL
MFC after: 3 days

show more ...


# 957539c3 28-Oct-2013 Brooks Davis <[email protected]>

Enable the --sysroot=/foo option in ld by always building with a sysroot
defined. When not building as a cross linker, the sysroot is set to "/".

Exp-run by: bdrewery (ports/183206)
MFC after: 3 days


Revision tags: release/9.2.0, release/8.4.0, release/9.1.0
# 4f20e4f2 29-Apr-2012 Konstantin Belousov <[email protected]>

Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked. Option is disabled by
default.

Reviewed by: ru (previous version)
MFC after: 2 weeks


Revision tags: release/8.3.0
# a54f161a 21-Mar-2011 Marcel Moolenaar <[email protected]>

Fix typo: s/LIBSERACHPATH/LIBSEARCHPATH/g


Revision tags: release/7.4.0, release/8.2.0
# e083002b 22-Oct-2010 Dimitry Andric <[email protected]>

Most of binutils now compiles at WARNS=3, except for libiberty and
libbfd, which still need WARNS=2.


# a477c4b7 21-Oct-2010 Dimitry Andric <[email protected]>

Update ldscript extension list.


# d9eabf46 21-Oct-2010 Dimitry Andric <[email protected]>

Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.


Revision tags: release/8.1.0, release/7.3.0, release/8.0.0, release/7.2.0, release/7.1.0, release/6.4.0, release/7.0.0, release/6.3.0
# af025ea9 26-Sep-2007 Marcel Moolenaar <[email protected]>

Force -O1 compilation when targeted for ia64. GCC 4 generates
bad code at -O2. Since this is likely caused by the low-level
optimizer, testing TARGET_ARCH rather than MACHINE_ARCH should
handle ia64

Force -O1 compilation when targeted for ia64. GCC 4 generates
bad code at -O2. Since this is likely caused by the low-level
optimizer, testing TARGET_ARCH rather than MACHINE_ARCH should
handle ia64 cross-compilation as well. With this work-around
in place, we can release using the current GCC and Binutils
code at the default optimization level on ia64.

Approved by: re (kensmith)

show more ...


Revision tags: release/6.2.0, release/5.5.0, release/6.1.0, release/6.0.0, release/5.4.0, release/4.11.0
# 83c7ade9 21-Dec-2004 Ruslan Ermilov <[email protected]>

NOSHARED -> NO_SHARED


123