[PATCH] D15669: [ELF][MIPS] MIPS .reginfo sections handling

Simon Atanasyan via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 19 12:28:54 PST 2015


atanasyan created this revision.
atanasyan added reviewers: ruiu, rafael.
atanasyan added a subscriber: llvm-commits.
atanasyan set the repository for this revision to rL LLVM.
atanasyan added a project: lld.

MIPS .reginfo section provides information on the registers used by the code in the object file. Linker should collect this information and write a single .reginfo section in the output file. This section contains a union of used registers masks taken from input .reginfo sections and final value of the `_gp` symbol.
    
For details see the "Register Information" section in Chapter 4 in the following document:
ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf
    
The patch implements .reginfo sections handling with a couple missed features: a) it does not put output .reginfo section into the separate REGINFO segment; b) it does not merge `ri_cprmask` masks from input section. These features will be implemented later.

Repository:
  rL LLVM

http://reviews.llvm.org/D15669

Files:
  ELF/InputFiles.cpp
  ELF/InputSection.cpp
  ELF/InputSection.h
  ELF/OutputSections.cpp
  ELF/OutputSections.h
  ELF/Writer.cpp
  test/ELF/basic-mips.s
  test/ELF/mips-reginfo.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15669.43309.patch
Type: text/x-patch
Size: 8522 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151219/5c7c8a11/attachment.bin>


More information about the llvm-commits mailing list