[lld] r190609 - [lld][ELF] Fix the readonly section order.
Shankar Easwaran
shankare at codeaurora.org
Thu Sep 12 08:43:14 PDT 2013
Author: shankare
Date: Thu Sep 12 10:43:13 2013
New Revision: 190609
URL: http://llvm.org/viewvc/llvm-project?rev=190609&view=rev
Log:
[lld][ELF] Fix the readonly section order.
This associates rodata and sections which just have the SHF_ALLOC flag
to be set to typeConstant.
Modified:
lld/trunk/lib/ReaderWriter/ELF/Atoms.h
lld/trunk/test/elf/checkrodata.test
Modified: lld/trunk/lib/ReaderWriter/ELF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Atoms.h?rev=190609&r1=190608&r2=190609&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Atoms.h Thu Sep 12 10:43:13 2013
@@ -290,6 +290,10 @@ public:
: typeThreadData;
}
+ if ((_section->sh_flags == llvm::ELF::SHF_ALLOC) &&
+ (_section->sh_type == llvm::ELF::SHT_PROGBITS))
+ return _contentType = typeConstant;
+
if (_symbol->getType() == llvm::ELF::STT_GNU_IFUNC)
return _contentType = typeResolver;
Modified: lld/trunk/test/elf/checkrodata.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/checkrodata.test?rev=190609&r1=190608&r2=190609&view=diff
==============================================================================
--- lld/trunk/test/elf/checkrodata.test (original)
+++ lld/trunk/test/elf/checkrodata.test Thu Sep 12 10:43:13 2013
@@ -4,6 +4,6 @@ RUN: llvm-objdump -section-headers %t1 |
RUN: lld -flavor gnu -target hexagon -o %t2 %p/Inputs/rodata-test.hexagon --noinhibit-exec
RUN: llvm-objdump -section-headers %t2 | FileCheck -check-prefix=hexagon %s
-i386: .rodata 00000004 0000000000000111 DATA
+i386: .rodata 00000004 0000000000000114 DATA
-hexagon: .rodata 00000004 0000000000000111 DATA
+hexagon: .rodata 00000004 0000000000000114 DATA
More information about the llvm-commits
mailing list