diff options
author | Corey Tabaka <corey.tabaka@gmail.com> | 2013-03-12 00:09:48 -0700 |
---|---|---|
committer | Corey Tabaka <corey.tabaka@gmail.com> | 2013-05-25 15:33:39 -0700 |
commit | a760678e556129f1107b62beb9f60a8dc765a390 (patch) | |
tree | f5d72a1eea448872572205f4c823ae5c06a6ccce | |
parent | 66bd261ea8c43adb7871e797a6afd2ab3bfa6a81 (diff) | |
download | lk-a760678e556129f1107b62beb9f60a8dc765a390.tar.gz |
[arch] Add __drivers and __devices arrays to ld scripts.
-rw-r--r-- | arch/arm/system-onesegment.ld | 8 | ||||
-rw-r--r-- | arch/arm/system-twosegment.ld | 10 | ||||
-rw-r--r-- | arch/x86/kernel.ld | 8 |
3 files changed, 25 insertions, 1 deletions
diff --git a/arch/arm/system-onesegment.ld b/arch/arm/system-onesegment.ld index d10efe72..bf297030 100644 --- a/arch/arm/system-onesegment.ld +++ b/arch/arm/system-onesegment.ld @@ -50,6 +50,10 @@ SECTIONS __rodata_start = .; *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN(4); + __drivers = .; + KEEP(*(.drivers)) + __drivers_end = .; + . = ALIGN(4); __rodata_end = .; } @@ -68,6 +72,10 @@ SECTIONS __apps_start = .; KEEP (*(.apps)) __apps_end = .; + . = ALIGN(4); + __devices = .; + KEEP(*(.devices)) + __devices_end = .; } .ctors : ALIGN(4) { diff --git a/arch/arm/system-twosegment.ld b/arch/arm/system-twosegment.ld index e71e5c7c..c197858f 100644 --- a/arch/arm/system-twosegment.ld +++ b/arch/arm/system-twosegment.ld @@ -50,7 +50,11 @@ SECTIONS __rodata_start = .; *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN(4); - __rodata_end = .; + __drivers = .; + KEEP(*(.drivers)) + __drivers_end = .; + . = ALIGN(4); + __rodata_end = . ; } /* writable data */ @@ -70,6 +74,10 @@ SECTIONS __apps_start = .; KEEP (*(.apps)) __apps_end = .; + . = ALIGN(4); + __devices = .; + KEEP(*(.devices)) + __devices_end = .; } /* code that is located in ram */ diff --git a/arch/x86/kernel.ld b/arch/x86/kernel.ld index 1f0b391f..3657c7a8 100644 --- a/arch/x86/kernel.ld +++ b/arch/x86/kernel.ld @@ -34,6 +34,10 @@ SECTIONS .rodata : { *(.rodata*) *(.gnu.linkonce.r.*) + . = ALIGN(4); + __drivers = .; + KEEP(*(.drivers)) + __drivers_end = .; } .data : ALIGN(4096) { @@ -47,6 +51,10 @@ SECTIONS __apps_start = .; KEEP (*(.apps)) __apps_end = .; + . = ALIGN(4); + __devices = .; + KEEP(*(.devices)) + __devices_end = .; } __ctor_list = .; .ctors : { *(.ctors) } |