aboutsummaryrefslogtreecommitdiff
path: root/gnu
Commit message (Collapse)AuthorAgeFilesLines
* libc: remove getsEd Maste2019-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | gets is unsafe and shouldn't be used (for many years now). Leave it in the existing symbol version so anything that previously linked aginst it still runs, but do not allow new software to link against it. (The compatability/legacy implementation must not be static so that the symbol and in particular the compat sym gets@FBSD_1.0 make it into libc.) PR: 222796 (exp-run) Reported by: Paul Vixie Reviewed by: allanjude, cy, eadler, gnn, jhb, kib, ngie (some earlier) Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D12298 Notes: svn path=/head/; revision=351659
* as: add deprecation notice to the man pageEd Maste2019-08-011-0/+4
| | | | | | | | | | | | | | | | | | | In the future FreeBSD will ship without GNU binutils 2.17.50. Add a note advising users who require GNU as to install the binutils port or package. Note that on armv7, arm64, amd64, i386 we currently ship only two binutils tools (as and objdump). A deprecation notice was added to objdump's man page some time ago. PR: 233611 Discussed with: jhb MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=350518
* objdump: be explicit that GNU objdump that will be removedEd Maste2019-08-011-2/+2
| | | | | | | | | | | We may install llvm-objdump as objdump (see review D18307) or just provide no /usr/bin/objdump, but either way GNU objdump won't be installed in the future. MFC after: 3 days Notes: svn path=/head/; revision=350505
* objdump: move deprecation notice to indended spot in the man pageEd Maste2019-08-011-4/+4
| | | | | | | | | | | r335217 added a deprecation notice to the source file for the objdump man page, and r335219 added it to the rendered objdump.1, but in the wrong spot. MFC after: 3 days Notes: svn path=/head/; revision=350503
* powerpc: Transition to Secure-PLT, like most other OSs (Toolchain part)Justin Hibbits2019-06-251-0/+3
| | | | | | | | | | | | | | | | Summary: Toolchain follow-up to r349350. LLVM patches will be submitted upstream for 9.0 as well. The bsd.cpu.mk change is required because GNU ld assumes BSS-PLT if it cannot determine for certain that it needs Secure-PLT, and some binaries do not compile in such a way to make it know to use Secure-PLT. Reviewed By: nwhitehorn, bdragon, pfg Differential Revision: https://reviews.freebsd.org/D20598 Notes: svn path=/head/; revision=349351
* csu: Add proper .depend tracking for each object.Bryan Drewery2019-06-151-0/+1
| | | | | | | | | | | This doesn't appear to have ever worked. After a .depend is generated there will be duplicate .c dependencies so only use the first one. MFC after: 2 weeks Sponsored by: DellEMC Notes: svn path=/head/; revision=349069
* Support reading in .depend files.Bryan Drewery2019-06-153-13/+13
| | | | | | | | | | | This is for an upcoming change that fixes .depend handling in here. It will cause some duplicate sources which need to be trimmed out. MFC after: 2 weeks Sponsored by: DellEMC Notes: svn path=/head/; revision=349067
* [PPC] Enable build/install of ld.bfd on baseLeandro Lupori2019-05-201-1/+3
| | | | | | | | | | | | | | When using LLVM+clang+lld on PowerPC64, ld.bfd is also needed, to link 32-bit binaries correctly, as lld support for 32-bit is still minimal. This change enables it to be built and installed when lld is used. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20259 Notes: svn path=/head/; revision=347992
* Fix gdb/kgdb build under WITH_PIEEd Maste2019-04-012-6/+8
| | | | | | | | | | Explicitly specified bare .a libraries need ${PIE_SUFFIX}. Reported by: David E. Cross, on twitter Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=345778
* Apply WITH_PIE changes to other binutils componentsEd Maste2019-03-253-8/+8
| | | | | | | | | | Followon to r345489, explicitly specified bare .a libraries need ${PIE_SUFFIX} (although these still built). MFC with: r345489 Notes: svn path=/head/; revision=345490
* Fix GNU objdump build under WITH_PIEEd Maste2019-03-251-4/+4
| | | | | | | | | Explicitly specified bare .a libraries need ${PIE_SUFFIX}. Reported by: David E. Cross, on twitter Notes: svn path=/head/; revision=345489
* Connect lib/libomp to the build.Dimitry Andric2019-03-161-1/+4
| | | | | | | | | | | | | | | | * Set MK_OPENMP to yes by default only on amd64, for now. * Bump __FreeBSD_version to signal this addition. * Ensure gcc's conflicting omp.h is not installed if MK_OPENMP is yes. * Update OptionalObsoleteFiles.inc to cope with the conflicting omp.h. * Regenerate src.conf(5) with new WITH/WITHOUT fragments. Relnotes: yes PR: 236062 MFC after: 1 month X-MFC-With: r344779 Notes: svn path=/head/; revision=345236
* Divorce MK_GDB from MK_BINUTILS.John Baldwin2019-03-062-8/+12
| | | | | | | | | | | | This permits legacy GDB to still be built and installed if WITHOUT_BINUTILS is set (e.g. if base/binutils is installed). Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D19480 Notes: svn path=/head/; revision=344854
* Create crtsavres.o for powerpc buildsJustin Hibbits2019-01-121-4/+0
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=342974
* grep(1) outputs NOT-matched lines with multi-byte charactersPedro F. Giffuni2019-01-101-9/+22
| | | | | | | | PR 113343 MFC after: 2 months Notes: svn path=/head/; revision=342910
* Avoid bsd.files.mk duplicate rule warning for bfd ldscriptsAlex Richardson2019-01-092-3/+6
| | | | | | | | | | | | Without this change I get lots of warning: duplicate script for target "_FILESINS_ldscripts/elf64btsmip_fbsd.xw" ignored message for every tree walk. Reviewed By: imp, emaste Differential Revision: https://reviews.freebsd.org/D18783 Notes: svn path=/head/; revision=342882
* Do not install GNU ld if lld is /usr/bin/ldEd Maste2018-11-261-1/+5
| | | | | | | | | | | | | | GNU binutils ld.bfd 2.17.50 does not support ifuncs and produces broken binaries when ifuncs are in use. When LLD_IS_LD is default we have an ifunc-capable system linker and can just avoid installing ld.bfd. Reported by: theraven Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18340 Notes: svn path=/head/; revision=340984
* Implement a BSD licensed crtbegin/crtendAndrew Turner2018-10-251-1/+5
| | | | | | | | | | | | | | | | | 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 MFC after: 1 month Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17587 Notes: svn path=/head/; revision=339738
* Bring back the WARNS level to what it used to be to please gcc arches at leastBaptiste Daroussin2018-10-202-1/+3
| | | | Notes: svn path=/head/; revision=339495
* Update libdialog to 1.3-20180621Baptiste Daroussin2018-10-203-10/+11
| | | | Notes: svn path=/head/; revision=339488
* - Update head to 13.0-CURRENT.Glen Barber2018-10-191-2/+2
| | | | | | | | | | | | | | - Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER, FREEBSD_CC_VERSION, OS_VERSION. - Update comment in UPDATING regarding debugging options. - Remove debug.witness.trace=0 from installation media. - Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339436
* Disable sbrk() use in GNU tools.Brooks Davis2018-09-2112-12/+12
| | | | | | | | | | | | | | We're studing the possibility of deprecating sbrk(). To make it easier we're removing unnecessicary uses in the base system. None of these tools require sbrk(), but they agressively prefer it for no good reason. Reviewed by: andrew Approved by: re (kib) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16141 Notes: svn path=/head/; revision=338860
* Update libstdc++ configuration.Pedro F. Giffuni2018-07-161-20/+17
| | | | | | | | | | | | | Its been quite a while since the last time we updated this and since then we have grown iconv and a bunch of complex math functions. This only applies to the platforms which still use GCC 4.2.1 in the toolchain. Differential Revision: https://reviews.freebsd.org/D16289 Notes: svn path=/head/; revision=336351
* Teach binutils that arm64 is a 64bit architecture. This is needed to crossAndrew Turner2018-07-061-1/+1
| | | | | | | | | build from arm64 to other architectures that use binutils. Sponsored by: ABT Systems Ltd Notes: svn path=/head/; revision=336027
* Don't use CCACHE for linking.Bryan Drewery2018-06-273-6/+6
| | | | | | | | MFC after: 2 weeks Sponsored by: Dell EMC Notes: svn path=/head/; revision=335733
* Fix GCC 4.2.1 to honor --sysroot for includes.John Baldwin2018-06-272-7/+4
| | | | | | | | | | | | | | | | | | | - Change the C++ directory entries to honor --sysroot if it is set. - Don't define CROSS_INCLUDE_DIR for the cross compiler. Instead, set TARGET_SYSTEM_ROOT to point to WORLDTMP and always define STANDARD_INCLUDE_DIR. - Change STANDARD_INCLUDE_DIR and the C++ include directories to just start with "/usr" always. The compiler will prepend the sysroot when doing cross-builds. GCC_INCLUDE_DIR (which contains headers that ship with the compiler such as intrinsincs rather than OS-supplied headers) remains hardcoded to look in TOOLS_PREFIX. Reviewed by: bdrewery (older version) Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D15127 Notes: svn path=/head/; revision=335717
* Don't hardcode the TOOLS_PREFIX for the startfiles directories.John Baldwin2018-06-271-2/+2
| | | | | | | | | | | | GCC 4.2 prefixes these directories with --sysroot meaning that during buildworld they have a double sysroot. Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D14780 Notes: svn path=/head/; revision=335716
* Rework how the ld link is handled in WORLDTMP from r322811.Bryan Drewery2018-06-201-4/+3
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=335447
* objdump.1: manually apply r229046 to the rendered man pageEd Maste2018-06-151-0/+4
| | | | Notes: svn path=/head/; revision=335219
* Use a script wrapper for <compress>grepBaptiste Daroussin2018-04-251-13/+0
| | | | | | | | | | | | | | | | | | | | | Import the wrapper script from zstdgrep (written by wiz@netbsd.org) Modify it to support more than just zstd (adding support for gzip, lzma, xz and bzip2) Write a simple manpage dedicated for it. Only use that new wrapper both for gnu grep and bsd grep Next step will be removing code related to compression format from bsdgrep Reviewed by: kevans Approved by: kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D15193 Notes: svn path=/head/; revision=332993
* i386 4/4G split.Konstantin Belousov2018-04-131-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change makes the user and kernel address spaces on i386 independent, giving each almost the full 4G of usable virtual addresses except for one PDE at top used for trampoline and per-CPU trampoline stacks, and system structures that must be always mapped, namely IDT, GDT, common TSS and LDT, and process-private TSS and LDT if allocated. By using 1:1 mapping for the kernel text and data, it appeared possible to eliminate assembler part of the locore.S which bootstraps initial page table and KPTmap. The code is rewritten in C and moved into the pmap_cold(). The comment in vmparam.h explains the KVA layout. There is no PCID mechanism available in protected mode, so each kernel/user switch forth and back completely flushes the TLB, except for the trampoline PTD region. The TLB invalidations for userspace becomes trivial, because IPI handlers switch page tables. On the other hand, context switches no longer need to reload %cr3. copyout(9) was rewritten to use vm_fault_quick_hold(). An issue for new copyout(9) is compatibility with wiring user buffers around sysctl handlers. This explains two kind of locks for copyout ptes and accounting of the vslock() calls. The vm_fault_quick_hold() AKA slow path, is only tried after the 'fast path' failed, which temporary changes mapping to the userspace and copies the data to/from small per-cpu buffer in the trampoline. If a page fault occurs during the copy, it is short-circuit by exception.s to not even reach C code. The change was motivated by the need to implement the Meltdown mitigation, but instead of KPTI the full split is done. The i386 architecture already shows the sizing problems, in particular, it is impossible to link clang and lld with debugging. I expect that the issues due to the virtual address space limits would only exaggerate and the split gives more liveness to the platform. Tested by: pho Discussed with: bde Sponsored by: The FreeBSD Foundation MFC after: 1 month Differential revision: https://reviews.freebsd.org/D14633 Notes: svn path=/head/; revision=332489
* Use the trapframe unwinder for "fast_syscall_common".John Baldwin2018-03-091-0/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=330708
* When lld is ld, install bfd's man page as ld.bfd.1Ed Maste2018-03-041-0/+8
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=330366
* Remove libreadline from the source tree, all consumers but gdbBaptiste Daroussin2018-02-066-333/+0
| | | | | | | | | | | | | has been switched to libedit long ago, libreadline was built as an internallib for a while and kept only for gdbtui which was broken using libreadline. Since gdb has been mostly deorbitted in all arches, gdbtui was only installed on arm and sparc64, given it has been removed, gdb has been switched to use libedit, no consumers are left for libreadline. Thus this removal Notes: svn path=/head/; revision=328928
* Switch to use libedit instead of readlineBaptiste Daroussin2018-02-063-6/+4
| | | | Notes: svn path=/head/; revision=328926
* Remove gdbtui, it was already not installed on every archesBaptiste Daroussin2018-02-063-46/+0
| | | | | | | | | | only installed on arm and sparc64. It is the only bits that keeps us having libreadline in base The rest of gdb can be switched to libedit and will be in another commit Notes: svn path=/head/; revision=328925
* Recognize mchk_calltrap as a trapframe generator.John Baldwin2018-01-191-0/+1
| | | | | | | Should have been included in r328157. Notes: svn path=/head/; revision=328158
* build-tools: De-special-case the gcc tools build.Bryan Drewery2017-10-311-0/+1
| | | | | | | | | | | It merely wanted to use 'all' rather than 'build-tools' so just add a build-tools target to the Makefile. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325243
* Rename RELTOP since it will mean something else globally.Bryan Drewery2017-10-315-19/+19
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325189
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-3126-26/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* Support armv7 builds for userlandWarner Losh2017-10-052-2/+8
| | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=324340
* Remove redundant source and object files.Jonathan Anderson2017-09-091-1/+0
| | | | | | | | | | Reviewed by: bdrewery, ngie MFC after: 1 week Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12208 Notes: svn path=/head/; revision=323365
* Convert all the arm big endian tests into a regexp rather than a list.Warner Losh2017-08-145-6/+6
| | | | | | | Suggested by: emaste@ Notes: svn path=/head/; revision=322521
* Make _TO_CPUARCH macro for ARCH to CPUARCH conversionsWarner Losh2017-08-124-4/+4
| | | | | | | | | | | | Consolidate all the regular expressions to convert from MACHINE_ARCH to MACHINE_CPUARCH into a variable and use that variable in preference to the almost identical copies in the tree (which should have been identical). Differential Revision: https://reviews.freebsd.org/D11986 Notes: svn path=/head/; revision=322429
* Convert traditional ${MK_TESTS} conditional idiom for including testEnji Cooper2017-08-021-4/+2
| | | | | | | | | | | | | | directories to SUBDIR.${MK_TESTS} idiom This is being done to pave the way for future work (and homogenity) in ^/projects/make-check-sandbox . No functional change intended. MFC after: 1 weeks Notes: svn path=/head/; revision=321912
* Add deprecation notices for gdb and kgdb.John Baldwin2017-07-052-1/+16
| | | | | | | | | | | | | | Even though gdb and kgdb may not be removed for 12.0 on some architectures, the notice is unconditional as these tools will likely be removed at some point in the future when adequate replacements are available (gdb in ports or lldb in base). Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D11477 Notes: svn path=/head/; revision=320675
* Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.Bryan Drewery2017-06-191-1/+1
| | | | | | | | | | | | | | Since buildenv exports SYSROOT all of these uses will now look in WORLDTMP by default. sys/boot/efi/loader/Makefile A LIBSTAND hack is no longer required for buildenv. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=320122
* Remove groff from baseBaptiste Daroussin2017-06-07123-6673/+0
| | | | | | | | | | | | | All manpages in base are now compatible with mandoc(1), all roff documentation will be relocated in the doc tree. man(1) can now use groff from the ports tree if it needs. Also remove checknr(1) and colcrt(1) which are only useful with groff. Approved by: (no objections on the mailing lists) Notes: svn path=/head/; revision=319664
* Add 11.1 to the mdoc(7) mdoc.local.in.Glen Barber2017-05-221-0/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=318645
* Add a new GDB_LIBEXEC option to install gdb and kgdb to /usr/libexec.John Baldwin2017-04-252-1/+12
| | | | | | | | | | | | | | | | | | | When this option is enabled, only gdb and kgdb are installed to /usr/libexec for use by crashinfo(8). Other bits of GDB such as gdbserver and gdbtui are not installed. For this option to be effective, GDB must be enabled. Rework r317094 to re-enable GDB on all platforms but enable GDB_LIBEXEC on platforms for which the GDB in ports is a superset of functionality. Reviewed by: emaste, kib Suggested by: kib Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10449 Notes: svn path=/head/; revision=317416