|
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 |
|
| #
635718c0 |
| 31-Oct-2017 |
Bryan Drewery <[email protected]> |
Rename RELTOP since it will mean something else globally.
Sponsored by: Dell EMC Isilon
|
| #
0b972ac9 |
| 05-Oct-2017 |
Warner Losh <[email protected]> |
Support armv7 builds for userland
Make armv7 as a new MACHINE_ARCH.
Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 h
Support armv7 builds for userland
Make armv7 as a new MACHINE_ARCH.
Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 hard float isn't supported by the the in-tree gcc, so it hasn't been updated to have a new default.
Support armv7 as a new valid MACHINE_ARCH (and by extension TARGET_ARCH).
Add armv7 to the universe build.
Differential Revision: https://reviews.freebsd.org/D12010
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0 |
|
| #
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, release/9.2.0, release/8.4.0 |
|
| #
412fcd3f |
| 18-Dec-2012 |
Andrey A. Chernov <[email protected]> |
More correct version of prev. fix.
|
| #
89bae3c5 |
| 17-Dec-2012 |
Andrey A. Chernov <[email protected]> |
Fix: line 11: Malformed conditional (${TARGET} == "arm" || ${TARGET_ARCH} == "powerpc64")
|
| #
70b6701d |
| 15-Dec-2012 |
Andrew Turner <[email protected]> |
Also remove -Werror on arm with clang as there are warnings.
|
|
Revision tags: release/9.1.0 |
|
| #
beaded8a |
| 24-Aug-2012 |
Roman Divacky <[email protected]> |
Dont use -Werror when building libbfd and gnu as on powerpc64 with clang as there are warnings.
Reviewed by: nwhitehorn
|
| #
4da573d9 |
| 15-Aug-2012 |
Oleksandr Tymoshenko <[email protected]> |
Merging of projects/armv6, part 3
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb
This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extens
Merging of projects/armv6, part 3
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb
This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations.
This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines.
Submitted by: Tim Kientzle <[email protected]>
show more ...
|
| #
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 |
|
| #
5fc747bf |
| 23-Mar-2012 |
Oleksandr Tymoshenko <[email protected]> |
Make default ABI for as(1) to be the same as target platform. This change makes object files compiled with default flags by gcc and as compatible.
|
|
Revision tags: release/7.4.0, release/8.2.0 |
|
| #
ce0cfc0e |
| 15-Nov-2010 |
Nathan Whitehorn <[email protected]> |
Garbage-collect some code made obsolete by the TBEMD import.
|
| #
e8dce5b9 |
| 10-Nov-2010 |
Warner Losh <[email protected]> |
Complete the integration of tbemd branch into head.
TARGET_BIG_ENDIAN is now completely dead, except where it was originally supposed to be used (internally in the toolchain building).
TARGET_ARCH
Complete the integration of tbemd branch into head.
TARGET_BIG_ENDIAN is now completely dead, except where it was originally supposed to be used (internally in the toolchain building).
TARGET_ARCH has changed in three cases: (1) Little endian mips has changed to mipsel. (2) Big endian mips has changed to mipseb. (3) Big endian arm has changed to armeb.
Some additional changes are needed to make 'make universe' work on arm and mips after this change, so those are commented out for now.
UPDATING information will be forthcoming. Any remaining rough edges will be hammered out in -current.
show more ...
|
| #
d2d5b59c |
| 01-Nov-2010 |
Dimitry Andric <[email protected]> |
Update Makefile and config.h for as.
|
| #
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.
|
| #
1e35dff4 |
| 21-Oct-2010 |
Dimitry Andric <[email protected]> |
Remove bignum-copy.c from SRCS=, as it no longer exists. Remove tc-sparc-fixed.c entirely, since the fix has been integrated into contrib/binutils/gas/config/tc-sparc.c by upstream. Define TARGET_O
Remove bignum-copy.c from SRCS=, as it no longer exists. Remove tc-sparc-fixed.c entirely, since the fix has been integrated into contrib/binutils/gas/config/tc-sparc.c by upstream. Define TARGET_OS in addition to the other TARGET_XXX defines.
show more ...
|
| #
52eb44ce |
| 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 |
|
| #
2cf64c80 |
| 10-Jul-2010 |
Nathan Whitehorn <[email protected]> |
Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD
Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD, and associated build systems tweaks.
Obtained from: projects/ppc64
show more ...
|
|
Revision tags: release/7.3.0, release/8.0.0, release/7.2.0, release/7.1.0 |
|
| #
7932522f |
| 11-Dec-2008 |
Warner Losh <[email protected]> |
Push mips support for as into the tree.
|
|
Revision tags: release/6.4.0, release/7.0.0, release/6.3.0, release/6.2.0 |
|
| #
777552ae |
| 09-Oct-2006 |
Kip Macy <[email protected]> |
Temporarily add newer copy of tc-sparc.c to build to support building of sun4v. This can be removed once the binutils import happens.
Reviewed by: kan Approved by: rwatson (mentor)
|
| #
78b00795 |
| 11-Sep-2006 |
David E. O'Brien <[email protected]> |
Define build 'as' TARGET_BYTES_BIG_ENDIAN if "TARGET_BIG_ENDIAN" is defined. This is needed for bi-sex architectures.
|
|
Revision tags: 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
|
|
Revision tags: release/5.3.0 |
|
| #
a35d8893 |
| 24-Oct-2004 |
Ruslan Ermilov <[email protected]> |
For variables that are only checked with defined(), don't provide any fake value.
|
| #
aa8ad7aa |
| 28-Jul-2004 |
Alexander Kabaev <[email protected]> |
Add NO_WERROR here. Binutils as does not compile cleanly with GCC 3.4.x.
|
| #
7d0fc2f4 |
| 08-Jul-2004 |
David E. O'Brien <[email protected]> |
MAJOR cleanup of the Bmake framework. This includes removing all vestiges of the old not-really supported ability to build cross tools targeting non-FreeBSD systems, such as m68k Lynx and NetBSD. Mo
MAJOR cleanup of the Bmake framework. This includes removing all vestiges of the old not-really supported ability to build cross tools targeting non-FreeBSD systems, such as m68k Lynx and NetBSD. Move as much duplicated code from platform Makefiles into the shared Makefiles. Add a simple mechanism for specifying ELF 'ldscripts'. Also share as many .h files as possible (now a single bfd.h vs. one per platform).
show more ...
|