aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/elf64.h
Commit message (Collapse)AuthorAgeFilesLines
* sys/sys: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=326256
* Add remaining ELF compression definitions and structsConrad Meyer2017-01-211-0/+7
| | | | | | | | | A follow-up to r300231. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312599
* Update ELF headers to include additional definesEd Maste2015-01-021-0/+12
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=276539
* style(9)David E. O'Brien2009-01-011-8/+8
| | | | | | | Verified with: svn diff -x -Bbw elf_generic.h elf64.h Notes: svn path=/head/; revision=186667
* Convert types 'Elf{32,64}_Nhdr' into aliases of the generic 'Elf_Note'Joseph Koshy2006-10-171-5/+1
| | | | | | | | | type. Reviewed by: jb Notes: svn path=/head/; revision=163457
* PR:John Birrell2006-10-041-0/+46
| | | | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=163016
* Remove various bits of conditional Alpha code and fixup a few comments.John Baldwin2006-05-121-4/+0
| | | | Notes: svn path=/head/; revision=158471
* Implement ELF symbol versioning using GNU semantics. This code aimsAlexander Kabaev2005-12-181-0/+34
| | | | | | | | | | | | 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. Notes: svn path=/head/; revision=153515
* Make our ELF64 type definitions match standards. In particular thisMarcel Moolenaar2005-12-181-39/+43
| | | | | | | | | | | | | | | | means: o Remove Elf64_Quarter, o Redefine Elf64_Half to be 16-bit, o Redefine Elf64_Word to be 32-bit, o Add Elf64_Xword and Elf64_Sxword for 64-bit entities, o Use Elf_Size in MI code to abstract the difference between Elf32_Word and Elf64_Word. o Add Elf_Ssize as the signed counterpart of Elf_Size. MFC after: 2 weeks Notes: svn path=/head/; revision=153504
* Get in sync with current ELF definitions. In particular this means:Marcel Moolenaar2005-12-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=153502
* Fix the ELF64_R_TYPE and ELF64_R_INFO macros. The symbol type is anMarcel Moolenaar2005-12-171-2/+2
| | | | | | | | | | | | 32-bit entity. Also, don't cast the resulting symbol type value to a datatype smaller than the st_info field type as a quick way to mask off the upper bits as it may cause inconsistent behaviour when the macro is used (without explicit casting) on varargs functions. MFC after: 1 week Notes: svn path=/head/; revision=153501
* Move the definition of ElfN_Hashelt to common headers. The only platformDoug Rabson2002-05-301-0/+13
| | | | | | | which has a different definition for this is alpha. Notes: svn path=/head/; revision=97564
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* The structure Elf_Note does not have 32 and 64 bit variants but alwaysDoug Rabson1999-05-071-16/+1
| | | | | | | | | | has 32bit fields. This change allows FreeBSD/alpha to generate well-formed ELF corefiles. Reviewed by: John Polstra <jdp@polstra.com> Notes: svn path=/head/; revision=46656
* Add generic defines ELF_ARCH, ELF_CLASS, and ELF_DATA. These giveJohn Polstra1998-09-141-1/+16
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=39189
* Provide the correct definition of ELF64_R_INFO.Doug Rabson1998-09-121-2/+2
| | | | Notes: svn path=/head/; revision=39095
* Change the ELF64_R_SYM() to shift 32 bits instead of 8 bits to matchJohn Birrell1998-09-051-23/+24
| | | | | | | | | | | | | binutils. Ensure that three of the structures are the size that binutils writes them. I just love code that doesn't share header files to avoid problems like these. With this change rtld-elf works on alpha. Notes: svn path=/head/; revision=38873
* Revamp the ELF include files to better support architecture-independentJohn Polstra1998-08-161-164/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=38357
* Add definitions for PT_LOPROC and PT_HIPROC.John Polstra1998-07-071-1/+4
| | | | | | | Submitted by: Kapil Chowksey <kchowksey@hss.hns.com> Notes: svn path=/head/; revision=37483
* Elf64_Shdr.sh_size should be Elf64_Size not Elf64_Word.Doug Rabson1998-06-141-2/+2
| | | | Notes: svn path=/head/; revision=36970
* Add initial support for the FreeBSD/alpha kernel. This is very much aDoug Rabson1998-06-101-0/+312
work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha Notes: svn path=/head/; revision=36849