Update clang toolchain.
Updates to r339409 and required the linker script to keep sections in
positions that don't distrupt the entry code.
Change-Id: I38d8a13b6d7586ac8cab0b3b8e82b8df16d0aa10
diff --git a/build/image/image.ld b/build/image/image.ld
index cb32f98..cede756 100644
--- a/build/image/image.ld
+++ b/build/image/image.ld
@@ -44,21 +44,35 @@
.rodata : {
*(.rodata.*)
}
- /* .rela contains Elf64_Rela entries which contain 8-byte fields so
- * should be 8-byte aligned. */
+ /*
+ * .rela contains Elf64_Rela entries which contain 8-byte fields so
+ * should be 8-byte aligned.
+ */
. = ALIGN(8);
rela_begin = .;
.rela : {
*(.rela.*)
}
rela_end = .;
- /* The hftest framework adds test descriptors in the .hftest section
+ /*
+ * The linker doesn't allow .dynsym and .dynstr to be discarded, see
+ * /DISCARD/ below, so make sure they don't get in the way.
+ */
+ .dynsym : {
+ *(.dynsym.*)
+ }
+ .dynstr : {
+ *(.dynstr.*)
+ }
+ /*
+ * The hftest framework adds test descriptors in the .hftest section
* which is examined at runtime to discover the available tests. The
* input sections are named after the test they include so sorting here
* means they are stored sorted by the name of the test suite and then
* by test case names. To ensure tests aren't accidentally included in
* images that are not meant to have them, the assertion checks for a
- * marker to signal tests are allowed. */
+ * marker to signal tests are allowed.
+ */
. = ALIGN(8);
hftest_begin = .;
.hftest : {
@@ -79,11 +93,20 @@
.data : {
*(.data)
}
- /* Global offset table used for relocations. This is where relocation
- * fix-ups are applied. */
+ /*
+ * Global offset table used for relocations. This is where relocation
+ * fix-ups are applied.
+ */
.got : {
*(.got.*)
}
+ /*
+ * The linker doesn't allow .dynamic to be discarded, see /DISCARD/
+ * below, so make sure it doesn't get in the way.
+ */
+ .dynamic : {
+ *(.dynamic.*)
+ }
/* The entry point code assumes that .bss is 16-byte aligned. */
. = ALIGN(16);
bss_begin = .;
@@ -118,7 +141,9 @@
. = ALIGN(4096);
bin_end = .;
- /* Note the size of the image. This includes everything up to the .bss
- * as that is initialized to zero by the entry code. */
+ /*
+ * Note the size of the image. This includes everything up to the .bss
+ * as that is initialized to zero by the entry code.
+ */
image_size = ABSOLUTE(bss_begin - ORIGIN_ADDRESS);
}
diff --git a/prebuilts b/prebuilts
index 5e1ddfa..cdfcccc 160000
--- a/prebuilts
+++ b/prebuilts
@@ -1 +1 @@
-Subproject commit 5e1ddfae19f7052e9e27b1bf2c2d8ea3c9bcf5b0
+Subproject commit cdfccccb1ea3e050b07dc59f87e214ee979da2ae