diff options
author | Steve Markgraf <steve@steve-m.de> | 2013-12-29 20:33:26 +0100 |
---|---|---|
committer | Sylvain Munaut <tnt@246tNt.com> | 2014-02-04 18:32:02 +0100 |
commit | 07ce6faff389dcaedc9b11ee4245d2a310f7612b (patch) | |
tree | a446619dc2c8c60b2120e714243abc729478ba8e | |
parent | 44649961dd678ce5b1bb8fd8e59719acd9052d2e (diff) |
fw: tell linker to add init_array to ctor sectionsylvain/burst_ind
Starting with version 4.8, gcc places functions
with __attribute__ ((constructor)) in .init_array
instead of .ctors by default.
This broke firmware images built with gcc >= 4.8.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
-rw-r--r-- | src/target/firmware/board/compal/highram.lds | 1 | ||||
-rw-r--r-- | src/target/firmware/board/compal/ram.lds | 1 | ||||
-rw-r--r-- | src/target/firmware/board/compal_e88/flash.lds | 1 | ||||
-rw-r--r-- | src/target/firmware/board/compal_e88/loader.lds | 1 | ||||
-rw-r--r-- | src/target/firmware/board/mediatek/ram.lds | 1 |
5 files changed, 5 insertions, 0 deletions
diff --git a/src/target/firmware/board/compal/highram.lds b/src/target/firmware/board/compal/highram.lds index 1f0a5a67..a6129fe4 100644 --- a/src/target/firmware/board/compal/highram.lds +++ b/src/target/firmware/board/compal/highram.lds @@ -60,6 +60,7 @@ SECTIONS LONG(SIZEOF(.ctors) / 4 - 2) /* ctor pointers */ KEEP(*(SORT(.ctors))) + KEEP(*(SORT(.init_array))) /* end of list */ LONG(0) } > LRAM diff --git a/src/target/firmware/board/compal/ram.lds b/src/target/firmware/board/compal/ram.lds index 342870dc..fe75418d 100644 --- a/src/target/firmware/board/compal/ram.lds +++ b/src/target/firmware/board/compal/ram.lds @@ -62,6 +62,7 @@ SECTIONS LONG(SIZEOF(.ctors) / 4 - 2) /* ctor pointers */ KEEP(*(SORT(.ctors))) + KEEP(*(SORT(.init_array))) /* end of list */ LONG(0) } > LRAM diff --git a/src/target/firmware/board/compal_e88/flash.lds b/src/target/firmware/board/compal_e88/flash.lds index cf0f6a41..67d727ff 100644 --- a/src/target/firmware/board/compal_e88/flash.lds +++ b/src/target/firmware/board/compal_e88/flash.lds @@ -54,6 +54,7 @@ SECTIONS LONG(SIZEOF(.ctors) / 4 - 2) /* ctor pointers */ KEEP(*(SORT(.ctors))) + KEEP(*(SORT(.init_array))) /* end of list */ LONG(0) } > FLASH diff --git a/src/target/firmware/board/compal_e88/loader.lds b/src/target/firmware/board/compal_e88/loader.lds index a7a001fc..22febff4 100644 --- a/src/target/firmware/board/compal_e88/loader.lds +++ b/src/target/firmware/board/compal_e88/loader.lds @@ -67,6 +67,7 @@ SECTIONS LONG(SIZEOF(.ctors) / 4 - 2) /* ctor pointers */ KEEP(*(SORT(.ctors))) + KEEP(*(SORT(.init_array))) /* end of list */ LONG(0) } > FLASH diff --git a/src/target/firmware/board/mediatek/ram.lds b/src/target/firmware/board/mediatek/ram.lds index a2af5609..7083c273 100644 --- a/src/target/firmware/board/mediatek/ram.lds +++ b/src/target/firmware/board/mediatek/ram.lds @@ -51,6 +51,7 @@ SECTIONS LONG(SIZEOF(.ctors) / 4 - 2) /* ctor pointers */ KEEP(*(SORT(.ctors))) + KEEP(*(SORT(.init_array))) /* end of list */ LONG(0) } > LRAM |