[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