From c91cbb9b0c90a480299cc7deaef166d47a61d9df Mon Sep 17 00:00:00 2001 From: Jack Carter Date: Fri, 18 Jan 2013 21:20:38 +0000 Subject: This is a resubmittal. For some reason it broke the bots yesterday but I cannot reproduce the problem and have scrubed my sources and even tested with llvm-lit -v --vg. Support for Mips register information sections. Mips ELF object files have a section that is dedicated to register use info. Some of this information such as the assumed Global Pointer value is used by the linker in relocation resolution. The register info file is .reginfo in o32 and .MIPS.options in 64 and n32 abi files. This patch contains the changes needed to create the sections, but leaves the actual register accounting for a future patch. Contributer: Jack Carter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172847 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/ELF.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/llvm/Support/ELF.h b/include/llvm/Support/ELF.h index 6eb1d8f744..4b04c819c1 100644 --- a/include/llvm/Support/ELF.h +++ b/include/llvm/Support/ELF.h @@ -909,6 +909,9 @@ enum { // this section based on their sizes SHT_X86_64_UNWIND = 0x70000001, // Unwind information + SHT_MIPS_REGINFO = 0x70000006, // Register usage information + SHT_MIPS_OPTIONS = 0x7000000d, // General options + SHT_HIPROC = 0x7fffffff, // Highest processor architecture-specific type. SHT_LOUSER = 0x80000000, // Lowest type reserved for applications. SHT_HIUSER = 0xffffffff // Highest type reserved for applications. @@ -975,8 +978,10 @@ enum { // All sections with the GPREL flag are grouped into a global data area // for faster accesses - SHF_HEX_GPREL = 0x10000000 + SHF_HEX_GPREL = 0x10000000, + // Do not strip this section. FIXME: We need target specific SHF_ enums. + SHF_MIPS_NOSTRIP = 0x8000000 }; // Section Group Flags -- cgit v1.2.3-70-g09d2