llvm-project/llvm/lib/ObjectYAML
Fangrui Song 1da4f47195 [yaml2obj] Set p_align to the maximum sh_addralign of contained sections
The address difference between two sections in a PT_LOAD is a constant.
Consider a hypothetical case (pagesize can be very small, say, 4).

```
.text     sh_addralign=4
.text.hot sh_addralign=16
```

If we set p_align to 4, the PT_LOAD will be loaded at an address which
is a multiple of 4. The address of .text.hot is guaranteed to be a
multiple of 4, but not necessarily a multiple of 16.

This patch deletes the constraint

  if (SHeader->sh_offset == PHeader.p_offset)

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D67260

llvm-svn: 371501
2019-09-10 09:16:34 +00:00
..
CMakeLists.txt [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
COFFEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
COFFYAML.cpp [COFF] Fix .bss section size bug in obj2yaml / yaml2obj 2019-05-10 21:53:44 +00:00
CodeViewYAMLDebugSections.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeViewYAMLSymbols.cpp Changing representation of .cv_def_range directives in Codeview debug info assembly format for better readability 2019-08-05 14:16:58 +00:00
CodeViewYAMLTypeHashing.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeViewYAMLTypes.cpp [codeview] Remove Type member from CVRecord 2019-04-04 00:28:48 +00:00
DWARFEmitter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFVisitor.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFVisitor.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFYAML.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ELFEmitter.cpp [yaml2obj] Set p_align to the maximum sh_addralign of contained sections 2019-09-10 09:16:34 +00:00
ELFYAML.cpp [yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC 2019-09-06 09:23:17 +00:00
LLVMBuild.txt [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
MachOEmitter.cpp [yaml2obj/obj2yaml][MachO] Allow setting custom section data 2019-08-20 08:49:07 +00:00
MachOYAML.cpp [yaml2obj/obj2yaml][MachO] Allow setting custom section data 2019-08-20 08:49:07 +00:00
MinidumpEmitter.cpp MinidumpYAML: move serialization code to MinidumpEmitter.cpp 2019-08-21 11:30:48 +00:00
MinidumpYAML.cpp MinidumpYAML: move serialization code to MinidumpEmitter.cpp 2019-08-21 11:30:48 +00:00
ObjectYAML.cpp [yaml2obj] - Don't crash on invalid inputs. 2019-04-25 09:59:55 +00:00
WasmEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
WasmYAML.cpp [WebAssembly] Make __attribute__((used)) not imply export. 2019-08-29 22:40:00 +00:00
XCOFFYAML.cpp [XCOFF] Implement parsing symbol table for xcoffobjfile and output as yaml format 2019-05-28 14:37:59 +00:00
YAML.cpp [yaml::BinaryRef] Slight perf tuning (for llvm-exegesis analysis mode) 2019-02-06 08:57:01 +00:00
yaml2obj.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00