summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-12-31 18:20:51 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-12-31 18:20:51 +0000
commitc8288c103d6b9ad1942e2d58a3f420cfaf506dfd (patch)
tree824662b8bfbc1545e727d6b53dbb868431d438cd /llvm
parent4b47f82ac2378ca5fa75f4c0ac23f1b5c41965f8 (diff)
downloadbcm5719-llvm-c8288c103d6b9ad1942e2d58a3f420cfaf506dfd.tar.gz
bcm5719-llvm-c8288c103d6b9ad1942e2d58a3f420cfaf506dfd.zip
Fix bits check in ELFObjectFile::isSectionZeroInit().
Fixes PR14723. Patch by Sami Liedes! llvm-svn: 171309
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Object/ELF.h5
-rw-r--r--llvm/test/Object/readobj-shared-object.test2
2 files changed, 2 insertions, 5 deletions
diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h
index 16347898096..fcd77c74ab2 100644
--- a/llvm/include/llvm/Object/ELF.h
+++ b/llvm/include/llvm/Object/ELF.h
@@ -1306,10 +1306,7 @@ error_code ELFObjectFile<target_endianness, is64Bits>
const Elf_Shdr *sec = reinterpret_cast<const Elf_Shdr *>(Sec.p);
// For ELF, all zero-init sections are virtual (that is, they occupy no space
// in the object image) and vice versa.
- if (sec->sh_flags & ELF::SHT_NOBITS)
- Result = true;
- else
- Result = false;
+ Result = sec->sh_type == ELF::SHT_NOBITS;
return object_error::success;
}
diff --git a/llvm/test/Object/readobj-shared-object.test b/llvm/test/Object/readobj-shared-object.test
index c1dd15b1f99..3065c6f6365 100644
--- a/llvm/test/Object/readobj-shared-object.test
+++ b/llvm/test/Object/readobj-shared-object.test
@@ -65,7 +65,7 @@ ELF: .tdata {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} d
ELF: .dynamic {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} required
ELF: .got.plt {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required
ELF: .data {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required
-ELF: .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} {{[a-z,]*}}
+ELF: .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} bss,required,virtual,zeroinit
ELF: .shstrtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
ELF: .symtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
ELF: .strtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
OpenPOWER on IntegriCloud