summaryrefslogtreecommitdiff
path: root/compiler/elf_builder.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-09-30 17:04:49 +0000
committer Vladimir Marko <vmarko@google.com> 2016-09-30 18:08:09 +0100
commit5f926055cb88089d8ca27243f35a9dfd89d981f0 (patch)
tree8d87d400e36301eb648e19bcd225f13c469648ad /compiler/elf_builder.h
parent9e5739aaa690a8529c104f4c05035a657616c310 (diff)
Revert "Store resolved Strings for AOT code in .bss."
There are some issues with oat_test64 on host and aosp_mips-eng. Also reverts "compiler_driver: Fix build." Bug: 20323084 Bug: 30627598 This reverts commit 63dccbbefef3014c99c22748d18befcc7bcb3b41. This reverts commit 04a44135ace10123f059373691594ae0f270a8a4. Change-Id: I568ba3e58cf103987fdd63c8a21521010a9f27c4
Diffstat (limited to 'compiler/elf_builder.h')
-rw-r--r--compiler/elf_builder.h15
1 files changed, 2 insertions, 13 deletions
diff --git a/compiler/elf_builder.h b/compiler/elf_builder.h
index 73240bed03..02831c9dc7 100644
--- a/compiler/elf_builder.h
+++ b/compiler/elf_builder.h
@@ -619,8 +619,7 @@ class ElfBuilder FINAL {
void PrepareDynamicSection(const std::string& elf_file_path,
Elf_Word rodata_size,
Elf_Word text_size,
- Elf_Word bss_size,
- Elf_Word bss_roots_offset) {
+ Elf_Word bss_size) {
std::string soname(elf_file_path);
size_t directory_separator_pos = soname.rfind('/');
if (directory_separator_pos != std::string::npos) {
@@ -660,20 +659,10 @@ class ElfBuilder FINAL {
Elf_Word oatlastword_address = rodata_address + rodata_size - 4;
dynsym_.Add(oatlastword, rodata_index, oatlastword_address, 4, STB_GLOBAL, STT_OBJECT);
}
- DCHECK_LE(bss_roots_offset, bss_size);
if (bss_size != 0u) {
Elf_Word bss_index = rodata_index + 1u + (text_size != 0 ? 1u : 0u);
Elf_Word oatbss = dynstr_.Add("oatbss");
- dynsym_.Add(oatbss, bss_index, bss_address, bss_roots_offset, STB_GLOBAL, STT_OBJECT);
- // Add a symbol marking the start of the GC roots part of the .bss, if not empty.
- if (bss_roots_offset != bss_size) {
- DCHECK_LT(bss_roots_offset, bss_size);
- Elf_Word bss_roots_address = bss_address + bss_roots_offset;
- Elf_Word bss_roots_size = bss_size - bss_roots_offset;
- Elf_Word oatbssroots = dynstr_.Add("oatbssroots");
- dynsym_.Add(
- oatbssroots, bss_index, bss_roots_address, bss_roots_size, STB_GLOBAL, STT_OBJECT);
- }
+ dynsym_.Add(oatbss, bss_index, bss_address, bss_size, STB_GLOBAL, STT_OBJECT);
Elf_Word oatbsslastword = dynstr_.Add("oatbsslastword");
Elf_Word bsslastword_address = bss_address + bss_size - 4;
dynsym_.Add(oatbsslastword, bss_index, bsslastword_address, 4, STB_GLOBAL, STT_OBJECT);