summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-01-25 10:24:50 -0800
committerDoug Kwan <dougkwan@google.com>2010-01-25 10:24:50 -0800
commit1a2917ca954f575cc9698c99e54bd93087793c8f (patch)
tree4c923a2e53ca9e6114a1ec0f71be905ceae4f019
parentd6bf8f92298aa46ee045f30ed5146eb05af16ced (diff)
downloadbionic-1a2917ca954f575cc9698c99e54bd93087793c8f.zip
bionic-1a2917ca954f575cc9698c99e54bd93087793c8f.tar.gz
bionic-1a2917ca954f575cc9698c99e54bd93087793c8f.tar.bz2
Align TEXT section to 4K boundary so that we can use both ld and gold.
-rw-r--r--linker/Android.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/linker/Android.mk b/linker/Android.mk
index c2d369e..c6fb49d 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -13,7 +13,12 @@ ifeq ($(TARGET_ARCH),sh)
# SH-4A series virtual address range from 0x00000000 to 0x7FFFFFFF.
LINKER_TEXT_BASE := 0x70000100
else
-LINKER_TEXT_BASE := 0xB0000100
+# This is aligned to 4K page boundary so that both GNU ld and gold work. Gold
+# actually produces a correct binary with starting adding 0xB0000100 but the
+# extra objcopy step to rename symbols causes the resulting binary to be misaligned
+# and unloadable. Increasing the alignment adds an extra 3840 bytes in padding
+# but switching to gold saves about 1M of space.
+LINKER_TEXT_BASE := 0xB0001000
endif
# The maximum size set aside for the linker, from