aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Tabaka <corey.tabaka@gmail.com>2013-03-12 00:09:48 -0700
committerCorey Tabaka <corey.tabaka@gmail.com>2013-05-25 15:33:39 -0700
commita760678e556129f1107b62beb9f60a8dc765a390 (patch)
treef5d72a1eea448872572205f4c823ae5c06a6ccce
parent66bd261ea8c43adb7871e797a6afd2ab3bfa6a81 (diff)
downloadlk-a760678e556129f1107b62beb9f60a8dc765a390.tar.gz
[arch] Add __drivers and __devices arrays to ld scripts.
-rw-r--r--arch/arm/system-onesegment.ld8
-rw-r--r--arch/arm/system-twosegment.ld10
-rw-r--r--arch/x86/kernel.ld8
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) }