#
27067774 |
| 16-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r303250 through r304235.
|
#
73371266 |
| 24-Jul-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Don't disable binutils/elftoolchain bootstrapping with external compiler.
This was a regression from r300349.
Setting MK_CROSS_COMPILER=no forces the compiler bootstraping *and* the binutils/elftoo
Don't disable binutils/elftoolchain bootstrapping with external compiler.
This was a regression from r300349.
Setting MK_CROSS_COMPILER=no forces the compiler bootstraping *and* the binutils/elftoolchain bootstrapping to be disabled in share/mk/src.opts.mk. The only intent with using an external compiler is to disable bootstrapping of the compiler. The binutils/elftoolchain bootstrapping must still occur unless XAS is set. This did not affect WITH_SYSTEM_COMPILER.
Now that setting an external compiler sets both MK_CLANG_BOOTSTRAP and MK_GCC_BOOTSTRAP to no, and MK_CROSS_COMPILER does the same via share/mk/src/opts.mk, remove redundant logic that checks for MK_CROSS_COMPILER. It will not always be true now that MK_CROSS_COMPILER==no when an external compiler is used and --sysroot/-target is needed.
Reported by: sbruno Pointyhat to: bdrewery MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
48413367 |
| 29-Jun-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
WITH_SYSTEM_COMPILER: Avoid using GCC4.8+ logic on native GCC4.2 platforms.
As the XXX notes, these should really be checking MK_GNUCXX since there is already a version check in share/mk/src.opts.mk
WITH_SYSTEM_COMPILER: Avoid using GCC4.8+ logic on native GCC4.2 platforms.
As the XXX notes, these should really be checking MK_GNUCXX since there is already a version check in share/mk/src.opts.mk to disable it. Fixing that here is more complex though. This could also be using X_COMPILER_FEATURES but uses X_COMPILER_VERSION to keep in sync with the src.opts.mk logic.
Tested by: andreast Sponsored by: EMC / Isilon Storage Division Approved by: re (gjb)
show more ...
|
#
07394091 |
| 16-Jun-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Fix native powerpc64 build of lib32 with in-tree GCC.
- This was broken by r300350 and r300885. - Add some comments around the external GCC logic since it is spread out and in need of some cleanup
Fix native powerpc64 build of lib32 with in-tree GCC.
- This was broken by r300350 and r300885. - Add some comments around the external GCC logic since it is spread out and in need of some cleanup. - The problem was that X_COMPILER_TYPE is always defined from CC->XCC's default, so if /usr/bin/cc is GCC (as it is on native powerpc64) then X_COMPILER_TYPE was getting GCC and triggering the external logic in Makefile.libcompat. It was intended to always provide -isystem with GCC since --sysroot is used into the lib32 sysroot which won't modify the header path without the -isystem. The use of the libc++/std=c++11 override was only intended to be used for external compilers though (more accurately GCC 4.8+ but that's a separate assumption to cleanup). Apply the same logic from Makefile.inc1 to Makefile.libcompat to only add the libc++ override when needed for external compilers.
Pointyhat to: bdrewery Tested with: native ppc64 (swills), universe, ppc64 xtoolchain, amd64 xtoolchain, sparc64 cross-build of ppc64 (host GCC 4.2) Reported by: andreast, swills Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
dfaedbb2 |
| 09-Jun-2016 |
Ed Maste <emaste@FreeBSD.org> |
Use -L to specify compat32 library paths instead of -Y
-Y is an uncommon linker option that is rather similar to -L. In discussion with Peter it seems early amd64 development might have required th
Use -L to specify compat32 library paths instead of -Y
-Y is an uncommon linker option that is rather similar to -L. In discussion with Peter it seems early amd64 development might have required the -Y-specific behaviour, but it is no longer necessary.
Switch to -L which is more widely supported and much more commonly used, to make it easier to link the FreeBSD base system with linkers other than ld.bfd.
Submitted by: Rafael Ávila de Espíndola Differential Revision: https://reviews.freebsd.org/D6681
show more ...
|
#
76c5029c |
| 29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Libcompat: Swap CXX/CFLAGS.
This is the same as done for the native build in r300770 to ensure that the libc++ build reads from SYSROOT/usr/include/c++/v1 before reading from SYSROOT/usr/include.
|
#
f661dbee |
| 29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
GCC External: Revert r300886, r300904, r300917, r300918
The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately.
|
#
83e0f7db |
| 29-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Libcompat: Set build tools in environment rather than make overrides.
This allows the CXX hack in r300917 for external GCC to work for the lib32 build. It is also the same pattern as the native bui
Libcompat: Set build tools in environment rather than make overrides.
This allows the CXX hack in r300917 for external GCC to work for the lib32 build. It is also the same pattern as the native build uses by adding the tools into CROSSENV for external toolchain, rather than make overrides.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
ce00342b |
| 28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move external GCC compiler hacks to bsd.sys.mk.
This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic fo
Move external GCC compiler hacks to bsd.sys.mk.
This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers.
More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html
This also reverts r300873.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
47873c16 |
| 28-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Libcompat: Only pass -isystem =/usr/include for external GCC.
This is the same as the main build logic. GCC with a cross-compiler requires using -isystem to =/usr/include to get the search order co
Libcompat: Only pass -isystem =/usr/include for external GCC.
This is the same as the main build logic. GCC with a cross-compiler requires using -isystem to =/usr/include to get the search order correct.
Reported by: dim, asomers Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
0edd2576 |
| 16-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
83f29075 |
| 15-Apr-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Set CPP from XCPP for the libcompat build.
Submitted by: Mark Millard <markmi@dsl-only.net>
|
#
d1dd034d |
| 14-Apr-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
META_MODE: Don't rebuild build-tools targets during normal build.
This avoids 'build command changed' due to CFLAGS/CC changes during the normal build. Without this the build-tools targets end up r
META_MODE: Don't rebuild build-tools targets during normal build.
This avoids 'build command changed' due to CFLAGS/CC changes during the normal build. Without this the build-tools targets end up rebuilding for the *target* rather than keeping the native versions built in build-tools.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
2263fb58 |
| 06-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
91da7698 |
| 05-Apr-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Remove leftover _LDSCRIPTROOT missed in r297270.
Sponsored by: EMC / Isilon Storage Division
|
#
d6084013 |
| 05-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
ce6c8db5 |
| 31-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
LIB32+WITHOUT_TOOLCHAIN: Fix build by staging includes.
This is the same fix as r297281 for the normal build.
Sponsored by: EMC / Isilon Storage Division
|
#
497e8091 |
| 31-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Diff
Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742
show more ...
|
#
17e3ebb1 |
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Divis
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
1b337a34 |
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previo
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previously the cross-compiler would default the sysroot to the 64bit WORLDTMP and -B/-L/-isystem flags were used to build using the lib32 files. This leads to multiple issues discussed later. Some extra headers are now needed to be staged since the 64bit WORLDTMP is not referenced at all for headers. The 64bit WORLDTMP is still used via PATH for build tools. Overriding the default target/arch is retained in the CC/CXX overrides.
This allows reverting the LDSCRIPT rewriting in installworld from r296921 and r235122, thus allowing read-only objdirs to work for installing again.
This removes the need for _LDSCRIPTROOT.
This allows progressing the change to always use --sysroot for the build rather than only relying on the cross-compiler's default sysroot. The work for that is in D3970 and needed to resolve WITHOUT_CROSS_COMPILER not using a --sysroot [1].
PR: 196193 [1] Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
429882e6 |
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT)
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT). The flag should not be passed during build32 though since it may prevent staging of includes during the 'make includes' phase on library directories.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
Revision tags: release/10.3.0 |
|
#
37a8c977 |
| 24-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for eac
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for each library since r161580.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
#
53835448 |
| 14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
bb52d711 |
| 13-Mar-2016 |
Warner Losh <imp@FreeBSD.org> |
Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work
Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no.
show more ...
|
#
048ce093 |
| 12-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Follow-up r296709: Fix build32 not properly building all libraries.
Pointyhat to: bdrewery Reported by: antoine
|