|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0 |
|
| #
6592a716 |
| 16-Sep-2019 |
Andrew Turner <[email protected]> |
MFC r339738, r339744, r339770, r339773, r339864-r339866, r339907-r339908, r339912-r339913, r339916, r339954, r340213, r340395, r340840, r340910-r340911, r341424, r342773, r342974, r351027, r352073:
MFC r339738, r339744, r339770, r339773, r339864-r339866, r339907-r339908, r339912-r339913, r339916, r339954, r340213, r340395, r340840, r340910-r340911, r341424, r342773, r342974, r351027, r352073:
MFC the BSD crtbegin to stable/12 but keep it disabled.
r339738: Implement a BSD licensed crtbegin/crtend
These are needed for .ctors/.dtors and .jcr handling. The former needs all the function pointers to be called in the correct order from the .init/.fini section. The latter just needs to call a gcj specific function if it exists with a pointer to the start of the .jcr section.
This is currently disabled until __dso_handle support is added.
Reviewed by: emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17587
r339744: Add a missing include for src.opts.mk. Without it MK_TESTS isn't defined.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339770: Drop the csu tests WARNS to 5 to fix the powerpc64 build.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339773: Add __dso_handle to the BSD crtbegin. This is used to identify shared objects.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339864: Check __dso_handle is NULL in non-DSO objects. It should only be non-NULL when accessed from a shared object.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339865: Include the csu test directories in BSD.tests.dist
MFC with: r339738 Sponsored by: DARPA, AFRL
r339866: Make the .ctors, .dtors, and .jcr markers as static. They shouldn't be accessible from out of the files they are defined in.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339907: The jcr argument to _Jv_RegisterClasses is used, stop marking it otherwise.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339908: Run the csu tests on a DSO. This builds the tests into a shared library, then runs these from the base test programs. With this we can check crtbeginS.o and crtendS.o are working as expected.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339912: Fix the location of the static keyword.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339913: Disable the .preinit_array test in DSOs, ld.bfd fails to link objects with the section.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339916: Build the csu tests on all architectures.
The tests haven't been run them, but this is enough to build them so I can get feedback on if the various crt.h headers are correct.
MFC with: r339738 Sponsored by: DARPA, AFRL
r339954: Add __used to __CTOR_LIST__ and __DTOR_LIST__
Enabling BSD_CRTBEGIN on amd64 resulted in error: unused variable '__CTOR_LIST__'.
__CTOR_LIST__ is indeed unused in crtbegin.c; it marks the beginning of the .ctors array and is used in crtend.c. Annotate __DTOR_LIST__ as well for consistency.
Discussed with: andrew MFC with: r339738 Sponsored by: The FreeBSD Foundation
r340213: Add the (untested) mips and sparc64 .init call sequences.
The BSD crtbegin/crtend code now builds on all architectures, however further work is needed to check if it works correctly.
MFC with: r339738 Sponsored by: DARPA, AFRL
r340395: Run __cxa_finalize in shared objects in the destructor path.
When we have .dtors call them before .dtor handling, otherwise call from a destructor.
PR: 233056 MFC with: r339738 Sponsored by: DARPA, AFRL
r340840: Mark the function called by the MIPS .init/.fini sequence with .local.
As with r328939 we need to mark local symbols as such. Without this the assembly parser treats the symbols as global and created relocations against these private symbols.
MFC with: r339738 Sponsored by: DARPA, AFRL
r340910: Add the missing 0 at the end of the .jcr section.
Without this the dynamic library test was failing as it was calling _Jv_RegisterClasses multiple times.
r340911: Re-enable the dynamiclib tests. These should be fixed by r340910.
r341424: Disable the BSD CRT code on powerpc and sparc64, they need extra crt*.o files that haven't been implemented.
Reported by: sbruno MFC with: r339738 Sponsored by: DARPA, AFRL
r342773: Add explicit csu test dependency
lib/csu/tests/dynamiclib requires libh_csu.so be built first. I'm not sure this is the most correct/best way to address this but it solves the issue in my testing.
PR: 233734 Sponsored by: The FreeBSD Foundation
r342974: Create crtsavres.o for powerpc builds
Summary: GCC expects to link in a crtsavres.o on powerpc platforms. On powerpc64 this is an empty file, but on powerpc and powerpcspe this does contain some save/restore functions, which may not actually be necessary for newer modern GCC and clang. This appeases the in-tree gcc, though, and is needed in order to switch to the BSD CRTRBEGIN.
PR: 233751 Reviewed By: andrew Differential Revision: https://reviews.freebsd.org/D18826
r351027: Enable BSD_CRTBEGIN on powerpc
In r342974 jhibbits added support to build crtsavres.o. This was the blocker for BSD_CRTBEGIN to be enabled there. As such enable this option again.
Reviewed by: jhibbits Sponsored by: DARPA, AFRL
r352073: csu: Add the riscv .init call sequence
Reviewed by: br Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D21537
show more ...
|
|
Revision tags: release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0 |
|
| #
ffec3151 |
| 12-Mar-2017 |
Warner Losh <[email protected]> |
Convert gnu to using SRCTOP
Prefer SRCTOP over CURDIR/../../contrib, etc. However, retain the "up one level" instances of ../ because they are really relative to this part of the tree and not a mean
Convert gnu to using SRCTOP
Prefer SRCTOP over CURDIR/../../contrib, etc. However, retain the "up one level" instances of ../ because they are really relative to this part of the tree and not a means to find the root of the tree. As such, it's better to leave them since that further the goal of being able to move directories if watned to in the future.
Differential Revision: https://reviews.freebsd.org/D9932 Sponsored by: Netflix Silence On: arch@ (twice)
show more ...
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
09fb6bff |
| 18-Apr-2016 |
Bryan Drewery <[email protected]> |
Follow-up r297842: Rework header generation to fix always rebuilding.
This reworks the handling of common headers to just include the needed logic rather than invoke MAKE. This avoids the problem l
Follow-up r297842: Rework header generation to fix always rebuilding.
This reworks the handling of common headers to just include the needed logic rather than invoke MAKE. This avoids the problem listed in r297842 and avoids other dependency tracking issues.
Pointyhat to: bdrewery Reported by: Nikolai Lifanov <[email protected]> Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
8a5f4396 |
| 12-Apr-2016 |
Bryan Drewery <[email protected]> |
META_MODE: Avoid changed build command every build.
Because the file is generated with -f using another Makefile, 2 different Makefiles are trying to handle the .meta file for the target. The obvio
META_MODE: Avoid changed build command every build.
Because the file is generated with -f using another Makefile, 2 different Makefiles are trying to handle the .meta file for the target. The obvious .NOMETA_CMP or .NOMETA on the ${MAKE} targets don't work as they are very limited in scope in bmake. Using .PHONY fixes the problem and ensures that the ${MAKE} command is always ran to check if it is outdated in the sub-make.
An example of the problem in gnu/lib/libgcc (with make -dM): /usr/obj/root/git/freebsd/gnu/lib/libgcc/tm.h.meta: 2: a build command has changed TARGET_CPU_DEFAULT="" HEADERS="options.h i386/biarch64.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos-undef.h elfos.h freebsd-native.h freebsd-spec.h freebsd.h i386/x86-64.h i386/freebsd.h i386/freebsd64.h defaults.h" DEFINES="" /bin/sh /root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc/mkconfig.sh tm.h vs (cd /root/git/freebsd/gnu/lib/libgcc; make -f /root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile MFILE=/root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile GCCDIR=/root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc tm.h) Skipping meta for tm.h: .NOMETA (cd /root/git/freebsd/gnu/lib/libgcc; make -f /root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile MFILE=/root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile GCCDIR=/root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc tm.h) `tm.h' is up to date.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
497e8091 |
| 30-Mar-2016 |
Bryan Drewery <[email protected]> |
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 ...
|
|
Revision tags: release/10.3.0 |
|
| #
266a1540 |
| 26-Sep-2015 |
Bryan Drewery <[email protected]> |
Remove redundant .NOPATH.
All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk.
Sponsored by: EMC / Isilon Storage Division
|
| #
7c6cc9de |
| 21-Sep-2015 |
Bryan Drewery <[email protected]> |
Fix installation of 32bit libraries after r288074.
FILES is not used when LIBRARIES_ONLY is set, which is used to build and install the lib32 sysroot. All of the csu files do quality as "libraries"
Fix installation of 32bit libraries after r288074.
FILES is not used when LIBRARIES_ONLY is set, which is used to build and install the lib32 sysroot. All of the csu files do quality as "libraries" for this case so just undefine LIBRARIES_ONLY.
This is still better than the previous realinstall handling as it does not hook into META_MODE properly.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
5ca34122 |
| 21-Sep-2015 |
Bryan Drewery <[email protected]> |
Replace realinstall: and META_MODE staging hacks with FILES mechanism.
This partially reverts r270170 for lib/csu/i386 while retaining the change for using bsd.lib.mk.
These FILES groups could go i
Replace realinstall: and META_MODE staging hacks with FILES mechanism.
This partially reverts r270170 for lib/csu/i386 while retaining the change for using bsd.lib.mk.
These FILES groups could go into lib/csu/Makefile.inc but I've kept them in the Makefiles for clarity.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
cbf53e73 |
| 30-Nov-2014 |
Simon J. Gerraty <[email protected]> |
all is MAIN target
|
|
Revision tags: release/10.1.0 |
|
| #
6d4766c1 |
| 01-Oct-2014 |
Andrew Turner <[email protected]> |
Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code.
With this com
Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code.
With this commit the ARM EABI is the only supported supported ABI by FreeBSD on ARMa 32-bit processors.
X-MFC after: never Relnotes: yes Differential Revision: https://reviews.freebsd.org/D876
show more ...
|
|
Revision tags: 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 ...
|
| #
b037ca43 |
| 24-Jun-2014 |
Warner Losh <[email protected]> |
Make sure that the sub-makes for unwind.h start from the CURDIR (/usr/src) tree rather than the OBJDIR (/usr/obj) tree. This fixes broken incremental builds with the canonical MAKESYSPATH workaround
Make sure that the sub-makes for unwind.h start from the CURDIR (/usr/src) tree rather than the OBJDIR (/usr/obj) tree. This fixes broken incremental builds with the canonical MAKESYSPATH workaround of .../share/mk. This is a gross kludge.
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.
|
| #
3d4adb05 |
| 05-May-2014 |
Simon J. Gerraty <[email protected]> |
Need to stage_files
|
|
Revision tags: release/10.0.0 |
|
| #
b294993d |
| 22-Dec-2013 |
Dimitry Andric <[email protected]> |
To avoid having to explicitly test COMPILER_TYPE for setting clang-specific or gcc-specific flags, introduce the following new variables for use in Makefiles:
CFLAGS.clang CFLAGS.gcc CXXFLAGS.clang
To avoid having to explicitly test COMPILER_TYPE for setting clang-specific or gcc-specific flags, introduce the following new variables for use in Makefiles:
CFLAGS.clang CFLAGS.gcc CXXFLAGS.clang CXXFLAGS.gcc
In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for the right compiler.
MFC after: 1 week
show more ...
|
| #
6b1fe0f9 |
| 22-Dec-2013 |
Dimitry Andric <[email protected]> |
For gnu/lib/csu, only use gcc-specific flags when compiling with gcc.
MFC after: 3 days
|
|
Revision tags: release/9.2.0, release/8.4.0 |
|
| #
1992e9a1 |
| 17-Jan-2013 |
Andrew Turner <[email protected]> |
Add compiler support for the ARM EABI.
ARM EABI support is disabled by default and can be enabled by setting WITH_ARM_EABI when building, however only the kernel-toolchain target will work with this
Add compiler support for the ARM EABI.
ARM EABI support is disabled by default and can be enabled by setting WITH_ARM_EABI when building, however only the kernel-toolchain target will work with this flag until the rest of the support is added.
show more ...
|
|
Revision tags: release/9.1.0 |
|
| #
c7a6b091 |
| 17-May-2012 |
Marcel Moolenaar <[email protected]> |
Build the "S" objects with the same name they get installed under. That is, build crtbeginS.o and crtendS.o instead of crtbegin.So and crtend.So. Remove the name substitution during install.
Obtaine
Build the "S" objects with the same name they get installed under. That is, build crtbeginS.o and crtendS.o instead of crtbegin.So and crtend.So. Remove the name substitution during install.
Obtained from: Juniper Networks, Inc.
show more ...
|
| #
db3212b3 |
| 23-Apr-2012 |
Dimitry Andric <[email protected]> |
Revert r234356 for now, as it leads to run-time problems on 32-bit PowerPC. Note this will break world.
Reported by: andreast Pointy hat to: dim
|
| #
4f78aa47 |
| 16-Apr-2012 |
Dimitry Andric <[email protected]> |
Work around an issue on 32-bit PowerPC, where clang executable can get too big, causing 'relocation truncated to fit' errors at link time.
Reviewed by: nwhitehorn
|
|
Revision tags: release/8.3.0, release/7.4.0, release/8.2.0 |
|
| #
25faff34 |
| 23-Aug-2010 |
Warner Losh <[email protected]> |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
|
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 ...
|
| #
15744a9c |
| 18-Jun-2010 |
Konstantin Belousov <[email protected]> |
Often reported issue with newer ld is: error in /usr/lib/crtendS.o(.eh_frame); no .eh_frame_hdr table will be created.
The issue is that crtend is compiled with unwind table, and also it places the
Often reported issue with newer ld is: error in /usr/lib/crtendS.o(.eh_frame); no .eh_frame_hdr table will be created.
The issue is that crtend is compiled with unwind table, and also it places the special CIE into the .eh_frame indicating the end of section, that is located before generated unwind table. New ld has assertion that verifies that closing CIE is indeed the last CIE, causing the crypting message to be issued, and refusing to generate dwarf unwind.
Add -fno-asynchronous-unwind-tables to disable unwind table generation for crtbegin/crtend. While there, disable omitting the frame pointer [1].
Requested by: kan [1] Reviewed by: kan MFC after: 2 weeks
show more ...
|
|
Revision tags: release/7.3.0, release/8.0.0, release/7.2.0 |
|
| #
d9ca85fc |
| 21-Feb-2009 |
Ruslan Ermilov <[email protected]> |
Fix build when WITH_SSP is set explicitly.
Submitted by: Jeremie Le Hen
|
|
Revision tags: release/7.1.0, release/6.4.0 |
|
| #
5f85c2cd |
| 28-Sep-2008 |
Marcel Moolenaar <[email protected]> |
Revert previous commit. The prototype has been moved to unistd.h
|