mirror of
https://github.com/intel/llvm.git
synced 2026-02-02 02:00:03 +08:00
[ELF] - Set the sh_entsize for mergable sections
Previously sh_entsize field was not set for MergeOutputSection. Patch fixes that. That should resolve the https://llvm.org/bugs/show_bug.cgi?id=26975 Differential revision: http://reviews.llvm.org/D18248 llvm-svn: 263780
This commit is contained in:
@@ -1220,6 +1220,7 @@ void MergeOutputSection<ELFT>::addSection(InputSectionBase<ELFT> *C) {
|
||||
ArrayRef<uint8_t> D = S->getSectionData();
|
||||
StringRef Data((const char *)D.data(), D.size());
|
||||
uintX_t EntSize = S->getSectionHdr()->sh_entsize;
|
||||
this->Header.sh_entsize = EntSize;
|
||||
|
||||
// If this is of type string, the contents are null-terminated strings.
|
||||
if (this->Header.sh_flags & SHF_STRINGS) {
|
||||
|
||||
@@ -32,7 +32,7 @@ zed:
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 1
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: EntrySize: 1
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 61626300 |abc.|
|
||||
// CHECK-NEXT: )
|
||||
@@ -50,7 +50,7 @@ zed:
|
||||
// NOTAIL-NEXT: Link: 0
|
||||
// NOTAIL-NEXT: Info: 0
|
||||
// NOTAIL-NEXT: AddressAlignment: 1
|
||||
// NOTAIL-NEXT: EntrySize: 0
|
||||
// NOTAIL-NEXT: EntrySize: 1
|
||||
// NOTAIL-NEXT: SectionData (
|
||||
// NOTAIL-NEXT: 0000: 61626300 626300 |abc.bc.|
|
||||
// NOTAIL-NEXT: )
|
||||
@@ -68,7 +68,7 @@ zed:
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 2
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: EntrySize: 2
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 |....|
|
||||
// CHECK-NEXT: )
|
||||
|
||||
@@ -29,7 +29,7 @@ zed:
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 4
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: EntrySize: 4
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 10000000 42000000
|
||||
// CHECK-NEXT: )
|
||||
|
||||
Reference in New Issue
Block a user