[PATCH] Subclass DynamicTable for each targets to factor out handling of target dependent part of a dynamic table

Simon Atanasyan simon at atanasyan.com
Tue Jan 28 12:27:36 PST 2014


Hi shankarke, ruiu,

The `DT_PLTGOT` dynamic table tag has different meaning for different targets. Most targets use it to hold an address of `.got.plt` section while the MIPS target uses it to hold an address of `.got` section. To keep an address of `.got.plt` section the MIPS target creates `DT_MIPS_PLTGOT` tag.

The patch separates the target independent and dependent parts of a dynamic table. The `DynamicTable` class remains responsible for handling the target independent part of a dynamic table. Each targets subclass the `DynamicTable` class for handling the target dependent part of a dynamic table.

There is no functional changes for all targets except MIPS.

http://llvm-reviews.chandlerc.com/D2643

Files:
  lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
  lib/ReaderWriter/ELF/Hexagon/HexagonDynamicTable.h
  lib/ReaderWriter/ELF/Hexagon/HexagonExecutableWriter.h
  lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h
  lib/ReaderWriter/ELF/PPC/PPCDynamicLibraryWriter.h
  lib/ReaderWriter/ELF/PPC/PPCDynamicTable.h
  lib/ReaderWriter/ELF/PPC/PPCExecutableWriter.h
  lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp
  lib/ReaderWriter/ELF/SectionChunks.h
  lib/ReaderWriter/ELF/X86/X86DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/X86/X86DynamicTable.h
  lib/ReaderWriter/ELF/X86/X86ExecutableWriter.h
  lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/X86_64/X86_64DynamicTable.h
  lib/ReaderWriter/ELF/X86_64/X86_64ExecutableWriter.h
  test/elf/Mips/exe-dynamic.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2643.1.patch
Type: text/x-patch
Size: 27440 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140128/eb692f8f/attachment.bin>


More information about the llvm-commits mailing list