Merge "linker: remove COUNT_PAGES" am: 859202c8e5 am: a6d0e5898f
am: fa6a490299
Change-Id: I1741af4772226298b1782f8a718f39da3cdcf849
diff --git a/linker/linker.cpp b/linker/linker.cpp
index c1bccfe..eedce70 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -301,10 +301,6 @@
}
#endif
-#if COUNT_PAGES
-uint32_t bitmask[4096];
-#endif
-
static void notify_gdb_of_load(soinfo* info) {
if (info->is_linker() || info->is_main_executable()) {
// gdb already knows about the linker and the main executable.
@@ -3140,7 +3136,6 @@
switch (type) {
case R_GENERIC_JUMP_SLOT:
count_relocation(kRelocAbsolute);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO JMP_SLOT %16p <- %16p %s\n",
reinterpret_cast<void*>(reloc),
reinterpret_cast<void*>(sym_addr + addend), sym_name);
@@ -3150,7 +3145,6 @@
case R_GENERIC_ABSOLUTE:
case R_GENERIC_GLOB_DAT:
count_relocation(kRelocAbsolute);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO ABSOLUTE/GLOB_DAT %16p <- %16p %s\n",
reinterpret_cast<void*>(reloc),
reinterpret_cast<void*>(sym_addr + addend), sym_name);
@@ -3158,7 +3152,6 @@
break;
case R_GENERIC_RELATIVE:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO RELATIVE %16p <- %16p\n",
reinterpret_cast<void*>(reloc),
reinterpret_cast<void*>(load_bias + addend));
@@ -3166,7 +3159,6 @@
break;
case R_GENERIC_IRELATIVE:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO IRELATIVE %16p <- %16p\n",
reinterpret_cast<void*>(reloc),
reinterpret_cast<void*>(load_bias + addend));
@@ -3210,7 +3202,6 @@
return false;
case R_GENERIC_TLS_TPREL:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
{
ElfW(Addr) tpoff = 0;
if (lsi == nullptr) {
@@ -3236,7 +3227,6 @@
break;
case R_GENERIC_TLS_DTPMOD:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
{
size_t module_id = 0;
if (lsi == nullptr) {
@@ -3252,7 +3242,6 @@
break;
case R_GENERIC_TLS_DTPREL:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO TLS_DTPREL %16p <- %16p %s\n",
reinterpret_cast<void*>(reloc),
reinterpret_cast<void*>(sym_addr + addend), sym_name);
@@ -3264,7 +3253,6 @@
// other architectures, as long as the resolver functions are implemented.
case R_GENERIC_TLSDESC:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
{
TlsDescriptor* desc = reinterpret_cast<TlsDescriptor*>(reloc);
if (lsi == nullptr) {
@@ -3305,14 +3293,12 @@
#if defined(__x86_64__)
case R_X86_64_32:
count_relocation(kRelocAbsolute);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO R_X86_64_32 %08zx <- +%08zx %s", static_cast<size_t>(reloc),
static_cast<size_t>(sym_addr), sym_name);
*reinterpret_cast<Elf32_Addr*>(reloc) = sym_addr + addend;
break;
case R_X86_64_PC32:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO R_X86_64_PC32 %08zx <- +%08zx (%08zx - %08zx) %s",
static_cast<size_t>(reloc), static_cast<size_t>(sym_addr - reloc),
static_cast<size_t>(sym_addr), static_cast<size_t>(reloc), sym_name);
@@ -3321,7 +3307,6 @@
#elif defined(__i386__)
case R_386_PC32:
count_relocation(kRelocRelative);
- MARK(rel->r_offset);
TRACE_TYPE(RELO, "RELO R_386_PC32 %08x <- +%08x (%08x - %08x) %s",
reloc, (sym_addr - reloc), sym_addr, reloc, sym_name);
*reinterpret_cast<ElfW(Addr)*>(reloc) += (sym_addr - reloc);
diff --git a/linker/linker_debug.h b/linker/linker_debug.h
index 7a1cb3c..6031850 100644
--- a/linker/linker_debug.h
+++ b/linker/linker_debug.h
@@ -44,7 +44,6 @@
#define DO_TRACE_IFUNC 1
#define TIMING 0
#define STATS 0
-#define COUNT_PAGES 0
/*********************************************************************
* You shouldn't need to modify anything below unless you are adding
@@ -83,22 +82,3 @@
#endif /* TRACE_DEBUG */
#define TRACE_TYPE(t, x...) do { if (DO_TRACE_##t) { TRACE(x); } } while (0)
-
-#if COUNT_PAGES
-extern uint32_t bitmask[];
-#if defined(__LP64__)
-#define MARK(offset) \
- do { \
- if ((((offset) >> 12) >> 5) < 4096) \
- bitmask[((offset) >> 12) >> 5] |= (1 << (((offset) >> 12) & 31)); \
- } while (0)
-#else
-#define MARK(offset) \
- do { \
- bitmask[((offset) >> 12) >> 3] |= (1 << (((offset) >> 12) & 7)); \
- } while (0)
-#endif
-#else
-#define MARK(x) do {} while (0)
-
-#endif
diff --git a/linker/linker_main.cpp b/linker/linker_main.cpp
index fd1592d..bea2e3c 100644
--- a/linker/linker_main.cpp
+++ b/linker/linker_main.cpp
@@ -496,31 +496,7 @@
#if STATS
print_linker_stats();
#endif
-#if COUNT_PAGES
- {
- unsigned n;
- unsigned i;
- unsigned count = 0;
- for (n = 0; n < 4096; n++) {
- if (bitmask[n]) {
- unsigned x = bitmask[n];
-#if defined(__LP64__)
- for (i = 0; i < 32; i++) {
-#else
- for (i = 0; i < 8; i++) {
-#endif
- if (x & 1) {
- count++;
- }
- x >>= 1;
- }
- }
- }
- PRINT("PAGES MODIFIED: %s: %d (%dKB)", g_argv[0], count, count * 4);
- }
-#endif
-
-#if TIMING || STATS || COUNT_PAGES
+#if TIMING || STATS
fflush(stdout);
#endif