#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
03a1b759 |
|
20-Jan-2023 |
Warner Losh <imp@FreeBSD.org> |
elf: EF_ARM_EABI_VERSION_UNKNOWN is no longer used, retire EF_ARM_EABI_VERSION_UNKNOWN was used when we could run either eabi or oabi. That was armv[45] only, and went away when we migrated to eabi many major releases ago. No standard defines this symbol, so retire it. Pointed out by: jrtc27 Sponsored by: Netflix
|
#
34784d17 |
|
20-Jan-2023 |
Warner Losh <imp@FreeBSD.org> |
elf: Catch up with defining EF_ARM_EABI_VERSION in elf_common.h FreeBSD defines EF_ARM_EABI_VERSION in a non-standard way (at least differently than everybody else). We use this only in elf*machdep.c to make sure the image is new enough. Switch to the more standard way of defining this and adjust other constants to match. Fixes: c52c98e69a2e Sponsored by: Netflix
|
#
ca18304e |
|
22-Oct-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
arm, arm64: tweak hard-coded load addresses for PIE binaries They are used when ASLR is not applied. The need for adjusting is due to rtld direct exec mode puts ld-elf.so.1 at the PIE load address, and this address must not conflict with the default linker' load address for non-PIE binaries. Otherwise rtld in direct mode cannot activate image. Example of implicit failure is ldd(1) refusing to run. Reported by: kp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D37085
|
#
65454883 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
arm: clean up empty lines in .c and .h files
|
#
cd920756 |
|
31-May-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
Remove remnant of arm's ELF trampoline The trampoline code used for loading gzipped a.out kernels on arm was removed in r350436. A portion of this code allowed for DDB to find the symbol tables when booting without loader(8), and some of this was untouched in the removal. Remove it now. Differential Revision: https://reviews.freebsd.org/D24950
|
#
f6bb885f |
|
04-Nov-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Move the fixed base for PIE loading on arm. Existing base causes conflicts for direct execution of ld-elf.so.1 because default linking base for non-PIE binaries is 0x10000. Reported and tested by: Mark Millard <marklmi26-fbsd@yahoo.com> Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
c3adaa33 |
|
22-Oct-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Consolidate identical ELF auxargs type defintions. All platforms except powerpc use the same values and powerpc shares a majority of them. Go ahead and declare AT_NOTELF, AT_UID, and AT_EUID in favor of the unused AT_DCACHEBSIZE, AT_ICACHEBSIZE, and AT_UCACHEBSIZE for powerpc. Reviewed by: jhb, imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17397
|
#
af3dc4a7 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/arm: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
0cbf724e |
|
20-Oct-2017 |
Michal Meloun <mmel@FreeBSD.org> |
Fullify implementation of AT_HWCAP and AT_HWCAP2 for ARMv6,7. This makes elf_aux_info(3) useable for ARM ports. MFC after: 1 month
|
#
904d8c49 |
|
20-Oct-2017 |
Michal Meloun <mmel@FreeBSD.org> |
Add AT_HWCAP2 ELF auxiliary vector. - allocate value for new AT_HWCAP2 auxiliary vector on all platforms. - expand 'struct sysentvec' by new 'u_long *sv_hwcap2', in exactly same way as for AT_HWCAP. MFC after: 1 month Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D12699
|
#
64f73a4c |
|
22-Sep-2017 |
John Baldwin <jhb@FreeBSD.org> |
Detect NEON and set HWCAP_NEON if present. Reviewed by: andrew, ian MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12389
|
#
1e159074 |
|
22-Sep-2017 |
John Baldwin <jhb@FreeBSD.org> |
Correct HWCAP_VFP3* values to match Linux. Reviewed by: andrew, ian MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12388
|
#
19e1bd01 |
|
14-Sep-2017 |
John Baldwin <jhb@FreeBSD.org> |
Add AT_HWCAP flags for VFP settings for FreeBSD/arm. These flags match the meaning and value of flags in Linux, though Linux has many more flags. Reviewed by: stevek, Michal Meloun <meloun-miracle-cz> (earlier version) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D12291
|
#
c2f37b92 |
|
14-Sep-2017 |
John Baldwin <jhb@FreeBSD.org> |
Add AT_HWCAP and AT_EHDRFLAGS on all platforms. A new 'u_long *sv_hwcap' field is added to 'struct sysentvec'. A process ABI can set this field to point to a value holding a mask of architecture-specific CPU feature flags. If an ABI does not wish to supply AT_HWCAP to processes the field can be left as NULL. The support code for AT_EHDRFLAGS was already present on all systems, just the #define was not present. This is a step towards unifying the AT_* constants across platforms. Reviewed by: kib MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D12290
|
#
dd2be8cb |
|
02-Aug-2016 |
Ed Maste <emaste@FreeBSD.org> |
Move/add ARM ELF PHDR types to elf_common.h Accidentally missed in r303674
|
#
d36eec69 |
|
22-May-2015 |
Warner Losh <imp@FreeBSD.org> |
Export the eflags field from the elf header. This allows better discrimination between different subarch binaries, at least for mips and arm. Arm is implemented, mips is still tbd, so not currently exported. aarch64 does not export this because aarch64 binaries use different tags and flags than arm. Differential Revision: https://reviews.freebsd.org/D2611
|
#
942c3233 |
|
02-Jan-2015 |
Ed Maste <emaste@FreeBSD.org> |
Update ELF headers to include additional defines The elftoolchain project includes these additional defines for various userland programs. Given that arch-specific defines are still interesting in the context of userland programs reading or writing ELF metadata, they should be included in top-level ELF headers. Remove duplicate defines from ARM and MIPS elf headers. Submitted by: will (initial version) Reviewed by: imp, will Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D844
|
#
817dc004 |
|
17-Aug-2014 |
Warner Losh <imp@FreeBSD.org> |
Expand the elf brandelf infrastructure to give access to the whole ELF header (Elf_Ehdr) to determine if a particular interpretor wants to accept it or not. Use this mechanism to filter EABI arm on OABI arm kernels, and vice versa. This method could also be used to implement OABI on EABI arm kernels, if desired, or to allow a single mips kernel to run o32, n32 and n64 binaries. Differential Revision: https://reviews.freebsd.org/D609
|
#
677a88ce |
|
19-Jul-2014 |
Ian Lepore <ian@FreeBSD.org> |
Add dl_unwind_find_exidx() for ARM EABI, required for C++ exception handling. For statically linked apps this uses the __exidx_start/end symbols set up by the linker. For dynamically linked apps it finds the shared object that contains the given address and returns the location and size of the exidx section in that shared object. The dl_unwind_find_exidx() name is used by other BSD projects and Android, and is mentioned in clang 3.5 comments as "the BSD interface" for finding exidx data. GCC (in libgcc_s) expects the exact same API and functionality to be provided by a function named __gnu_Unwind_Find_exidx(), so we provide that with an alias ("strong reference"). Reviewed by: kib@ MFC after: 1 week
|
#
232aa31f |
|
22-Jun-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Reserve AT_TIMEKEEP auxv entry for providing usermode the pointer to timekeeping information. MFC after: 1 week
|
#
ee5cac8a |
|
12-Jun-2012 |
Warner Losh <imp@FreeBSD.org> |
trim trailing whitespace
|
#
39198f15 |
|
07-Jan-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Add AT_STACKPROT elf aux vector. Will be used to inform rtld about the initial stack protection set by the kernel image activator.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
ee235bef |
|
17-Aug-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Supply some useful information to the started image using ELF aux vectors. In particular, provide pagesize and pagesizes array, the canary value for SSP use, number of host CPUs and osreldate. Tested by: marius (sparc64) MFC after: 1 month
|
#
55f128de |
|
20-Oct-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
MFC r197933: Define architectural load bases for PIE binaries. MFC r198203 (by marius): Change load base for sparc to match default gcc memory layout model. Approved by: re (kensmith)
|
#
02306393 |
|
10-Oct-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Define architectural load bases for PIE binaries. Addresses were selected by looking at the bases used for non-relocatable executables by gnu ld(1), and adjusting it slightly. Discussed with: bz Reviewed by: kan Tested by: bz (i386, amd64), bsam (linux) MFC after: some time
|
#
a4f2b2b0 |
|
16-Mar-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer to the full path of the image that is being executed. Increase AT_COUNT. Remove no longer true comment about types used in Linux ELF binaries, listed types contain FreeBSD-specific entries. Reviewed by: kan
|
#
db3cd725 |
|
16-Dec-2008 |
Warner Losh <imp@FreeBSD.org> |
AT_DEBUG and AT_BRK were OBE like 10 years ago, so retire them. Reviewed by: peter
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
6825d607 |
|
04-Oct-2006 |
John Birrell <jb@FreeBSD.org> |
PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after: Security: Move the relocation definitions to the common elf header so that DTrace can use them on one architecture targeted to a different one. Add the additional ELF types defines in Sun's "Linker and Libraries" manual.
|
#
ba282be9 |
|
24-Aug-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Use ELFDATA2MSB if we're building big endian. Noticed by: Oleksandr Tymoshenko <gonzo freebsd org>
|
#
ce4210d6 |
|
23-Nov-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Use a magic number to know we were started from the elf wrapper. Add a dummy _start function to make the non-elf version of the wrapper work.
|
#
6e695cec |
|
04-May-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Add the Elf32_Auxinfo declaretion. Define AT_*. (Maybe some of this could go in a MI header ?)
|
#
c460ac3a |
|
24-Sep-2003 |
Peter Wemm <peter@FreeBSD.org> |
Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit systems where the data/stack/etc limits are too big for a 32 bit process. Move the 5 or so identical instances of ELF_RTLD_ADDR() into imgact_elf.c. Supply an ia32_fixlimits function. Export the clip/default values to sysctl under the compat.ia32 heirarchy. Have mmap(0, ...) respect the current p->p_limits[RLIMIT_DATA].rlim_max value rather than the sysctl tweakable variable. This allows mmap to place mappings at sensible locations when limits have been reduced. Have the imgact_elf.c ld-elf.so.1 placement algorithm use the same method as mmap(0, ...) now does. Note that we cannot remove all references to the sysctl tweakable maxdsiz etc variables because /etc/login.conf specifies a datasize of 'unlimited'. And that causes exec etc to fail since it can no longer find space to mmap things.
|
#
cbc89bfb |
|
10-Oct-2001 |
Paul Saab <ps@FreeBSD.org> |
Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader tunable. Reviewed by: peter MFC after: 2 weeks
|
#
f9b58b41 |
|
08-Jun-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Fix style of defines.
|
#
d4cfb421 |
|
03-Jan-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
StrongARM platform-specific definitions.
|