History log of /freebsd-10.0-release/sys/sys/elf_common.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 256100 07-Oct-2013 kib

Add the definition of DF_1_INTERPOSE flag.

Reviewed by: kan
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Approved by: re (glebius)


# 253136 10-Jul-2013 kevlo

Add the ARM processor-specific section types.

Reviewed by: imp


# 249558 16-Apr-2013 trociny

Add a new set of notes to a process core dump to store procstat data.

The notes format is a header of sizeof(int), which stores the size of
the corresponding data structure to provide some versioning, and data
in the format as it is returned by a related sysctl call.

The userland tools (procstat(1)) will be taught to extract this data,
providing additional info for postmortem analysis.

PR: kern/173723
Suggested by: jhb
Discussed with: jhb, kib
Reviewed by: jhb (initial version), kib
MFC after: 1 month


# 235099 06-May-2012 kib

Add definition for the -z nodefaultlib flag.

MFC after: 3 days


# 233523 26-Mar-2012 gonzo

Add .reginfo section entry


# 233400 23-Mar-2012 gonzo

Add define for MIPS.options


# 231617 13-Feb-2012 gonzo

Add ARM relocations types used for thread-local storage

Reviewed by: cognet


# 230783 30-Jan-2012 kib

Add definition for PT_GNU_RELRO.

MFC after: 3 days


# 230459 22-Jan-2012 kib

Fix typo.

Submitted by: John Marino <draco marino st>
MFC after: 3 days


# 228434 12-Dec-2011 kib

Add definitions for GNU-specific STT_GNU_IFUNC symbol type,
and R_{386,X86_64}_IRELATIVE relocations.

MFC after: 3 weeks


# 221569 06-May-2011 obrien

Add the ability to search for all the inlined instances of a given function.

Reviewed by: jb
Obtained from: Juniper Networks


# 215742 23-Nov-2010 kib

Add PT_GNU_STACK definition.

MFC after: 3 days


# 215679 22-Nov-2010 attilio

Add the ability for GDB to printout the thread name along with other
thread specific informations.

In order to do that, and in order to avoid KBI breakage with existing
infrastructure the following semantic is implemented:
- For live programs, a new member to the PT_LWPINFO is added (pl_tdname)
- For cores, a new ELF note is added (NT_THRMISC) that can be used for
storing thread specific, miscellaneous, informations. Right now it is
just popluated with a thread name.

GDB, then, retrieves the correct informations from the corefile via the
BFD interface, as it groks the ELF notes and create appropriate
pseudo-sections.

Sponsored by: Sandvine Incorporated
Tested by: gianni
Discussed with: dim, kan, kib
MFC after: 2 weeks


# 212501 12-Sep-2010 kib

Add DF_1_LOADFLTR.

MFC after: 3 days


# 212499 12-Sep-2010 kib

Fix typo.

MFC after: 3 days


# 209874 10-Jul-2010 nwhitehorn

Add definitions for powerpc64 ELF relocation types. Some 64-bit relocations
are identical to 32-bit relocations in meaning, name, and number, and I
have chosen not to duplicate those here.


# 199829 26-Nov-2009 kib

Implement rtld part of the support for -z nodlopen (see ld(1)).

Reviewed by: kan
MFC after: 3 weeks


# 190904 10-Apr-2009 kaiw

Added DT_GNU_HASH entry for GNU-style hash table.


# 190543 30-Mar-2009 kib

Implement support for RTLD_NODELETE flag for dlopen() and -z nodelete
static linker option. Do it by incrementing reference count on the loaded
object and its dependencies.

Reviewed by: davidxu, kan


# 189925 17-Mar-2009 kib

Add some definitions for the DT_FLAGS_1 tag flags.

Reviewed by: kan


# 188050 03-Feb-2009 jkoshy

Introduce a C type representing the header for GNU-style hash table
sections. These ELF sections are generated by newer versions of
GNU binutils.

Reviewed by: kaiw, Ali Bahrami <ali dot bahrami at sun dot com>


# 186720 03-Jan-2009 kaiw

Added section type SHT_GNU_HASH. GNU-style .hash section is a new
style of hash section with better performace than the original SYSV
hash. It can be generated by newer binutils.


# 186666 01-Jan-2009 obrien

style(9)

Verified with: svn diff -x -Bbw elf_common.h


# 186316 19-Dec-2008 kaiw

Update elf_common.h with new EM_ types found in the latest ELF gABI.

This commit is slightly different from the original patch in the PR:
1. EM_ALPHA keeps the old value for compatibility reason.
2. Non-standard SHT_NUM is not added.
3. Style.

PR: kern/118540
Submitted by: "Pedro F. Giffuni" <giffunip[at]tutopia.com>


# 181147 01-Aug-2008 imp

Add ELF relocation types for mips.

Obtained from: mips/include/elf.h


# 174139 01-Dec-2007 jb

Add extra visibility definitions.

See: <http://groups.google.com/group/generic-abi/browse_thread/thread/1a84adc15666164>

These are already in OpenSolaris and DTrace uses STV_ELIMINATE.


# 168286 02-Apr-2007 kan

Correct PT_GNU_EH_FRAME definition.


# 164276 14-Nov-2006 jkoshy

Add `PN_XNUM', for supporting ELF objects with a large number of program
header table entries.


# 163016 04-Oct-2006 jb

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.


# 159103 31-May-2006 maxim

o Correct URL to ELF header documantation.

PR: kern/98213
Submitted by: Robert Gogolok


# 153544 19-Dec-2005 marcel

o Add the GNU symbol versioning section constants (SHT_GNU_verdef,
SHT_GNU_verneed, SHT_GNU_versym),
o Fix the definition of DT_HIOS -- it was short an 'f'...


# 153515 18-Dec-2005 kan

Implement ELF symbol versioning using GNU semantics. This code aims
to be compatible with symbol versioning support as implemented by
GNU libc and documented by http://people.redhat.com/~drepper/symbol-versioning
and LSB 3.0.

Implement dlvsym() function to allow lookups for a specific version of
a given symbol.


# 153502 17-Dec-2005 marcel

Get in sync with current ELF definitions. In particular this means:
o Remove the unused and non-standard SHT_NUM, PT_COUNT and DT_COUNT.
o Add the STV_DEFAULT, STV_INTERNAL, STV_HIDDEN and STV_PROTECTED
symbol visibility constants.
o Add the ELF32_ST_VISIBILITY and ELF64_ST_VISIBILITY macros to
get the symbol visibility from the st_other field.
o Add the ELFOSABI_AIX, ELFOSABI_OPENVMS and ELFOSABI_NSK constants.
o Add the ET_LOOS, ET_HIOS, ET_LOPROC and ET_HIPROC constants.
o Further flesh out the list of machine types. Note that EM_ALPHA
remains non-standard. The standard value for EM_ALPHA is given
by EM_ALPHA_STD (which is a non-standard name :-)
o Add the SHN_LOOS, SHN_HIOS and SHN_XINDEX constants.
o Add the SHT_INIT_ARRAY, SHT_FINI_ARRAY, SHT_PREINIT_ARRAY, SHT_GROUP
and SHT_SYMTAB_SHNDX constants.
o Add the SHF_MERGE, SHF_STRINGS, SHF_INFO_LINK, SHF_LINK_ORDER,
SHF_OS_NONCONFORMING, SHF_GROUP and SHF_MASKOS constants.
o Add the PF_MASKOS and PF_MASKPROC constants.
o Add the STB_LOOS andf STB_HIOS constants.
o Add the STT_COMMON, STT_LOOS and STT_HIOS constants.

MFC after: 1 week


# 128942 05-May-2004 marcel

Fix typo (in comment): s/IA-46/IA-64/

Submitted by: Miod Vallat <miod@online.fr>


# 116540 18-Jun-2003 kan

Add defines required for TLS support.


# 116515 18-Jun-2003 phk

Add missing */


# 116511 18-Jun-2003 mdodd

- Add support for DT_FLAGS.
- Define various things from the most recent ELF spec.


# 101700 11-Aug-2002 robert

- Call a SHT_REL 'relocation section' rather than
'relation section'.
- Put a space between a word and the end of comment delimiter.


# 83228 08-Sep-2001 marcel

Catch up with common usage:

o Define ELFMAG and SELFMAG as an alternative to test the ELF magic.
ELFMAG is the magic; SELFMAG is the size of the magic. Use with
strncmp() or memcmp().
o Define SHT_NUM as the number of predefined sections.

Note: style(9) deviation for consistency.


# 73000 24-Feb-2001 obrien

Add "ELFOSABI_NONE" which is the symbol used in a copy of the old ELF spec,
as an alias for "ELFOSABI_SYSV".


# 70567 01-Jan-2001 obrien

Update the e_machine values to include x86-64, PowerPC and [Strong]ARM;
and fix the Sparc values. Also update the ELFOSABI list while I'm here.


# 66455 29-Sep-2000 dfr

Add machine type for ia64.


# 59342 18-Apr-2000 obrien

Change our ELF binary branding to something more acceptable to the Binutils
maintainers.

After we established our branding method of writing upto 8 characters of
the OS name into the ELF header in the padding; the Binutils maintainers
and/or SCO (as USL) decided that instead the ELF header should grow two new
fields -- EI_OSABI and EI_ABIVERSION. Each of these are an 8-bit unsigned
integer. SCO has assigned official values for the EI_OSABI field. In
addition to this, the Binutils maintainers and NetBSD decided that a better
ELF branding method was to include ABI information in a ".note" ELF
section.

With this set of changes, we will now create ELF binaries branded using
both "official" methods. Due to the complexity of adding a section to a
binary, binaries branded with ``brandelf'' will only brand using the
EI_OSABI method. Also due to the complexity of pulling a section out of an
ELF file vs. poking around in the ELF header, our image activator only
looks at the EI_OSABI header field.

Note that a new kernel can still properly load old binaries except for
Linux static binaries branded in our old method.

*
* For a short period of time, ``ld'' will also brand ELF binaries
* using our old method. This is so people can still use kernel.old
* with a new world. This support will be removed before 5.0-RELEASE,
* and may not last anywhere upto the actual release. My expiration
* time for this is about 6mo.
*


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 46656 07-May-1999 dfr

The structure Elf_Note does not have 32 and 64 bit variants but always
has 32bit fields. This change allows FreeBSD/alpha to generate well-formed
ELF corefiles.

Reviewed by: John Polstra <jdp@polstra.com>


# 39189 14-Sep-1998 jdp

Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These give
the relevant characteristics of the native machine, for building
and checking Elf_Ehdr structures.

Add structures to represent ELF "note" headers. Add defines for the
note types used in ELF core files.


# 38954 08-Sep-1998 jdp

Add definitions for the ELF section attribute flags, SHF_*.

Submitted by: Robert Nordier <rnordier@nordier.com>


# 38357 16-Aug-1998 jdp

Revamp the ELF include files to better support architecture-independent
applications. Here's how it works.

The kernel should include <machine/elf.h> to get the definitions
for the native architecture. It can reference the various ELF
structures with generic names like Elf_Sym, Elf_Shdr, etc. A define
__ELF_WORD_SIZE is also available with the value 32 or 64 as
appropriate for the native architecture.

Generic applications should include <elf.h>, which is just a wrapper
for <machine/elf.h>.

Applications such as object file dumpers that need to deal with
foreign ELF files can include <sys/elf32.h> and/or <sys/elf64.h>.
Both can be included from the same source file if desired. The
structure names must be referenced using wordsize-specific names
like Elf32_Sym, Elf64_Shdr, etc.

I haven't change the alpha stuff, but I haven't broken it either.