summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdike <jdike>2003-01-18 16:24:18 +0000
committerjdike <jdike>2003-01-18 16:24:18 +0000
commitdcf78f34d631e065adb5b8d1a3c2fe9d1424c054 (patch)
treeb3d1d4632d93bcbf80d91cfef1ae7798693b6b84
parent6e140c6119f26db48e5c8f5fd2a465bf8d735e6f (diff)
downloaduml-history-dcf78f34d631e065adb5b8d1a3c2fe9d1424c054.tar.gz
Pulled the common parts of dyn.ld.in and link.ld.in out to common.ld.in.
-rw-r--r--arch/um/common.ld.in43
-rw-r--r--arch/um/dyn_link.ld.in44
-rw-r--r--arch/um/link.ld.in42
3 files changed, 45 insertions, 84 deletions
diff --git a/arch/um/common.ld.in b/arch/um/common.ld.in
new file mode 100644
index 0000000..ef4df75
--- /dev/null
+++ b/arch/um/common.ld.in
@@ -0,0 +1,43 @@
+ .kstrtab : { *(.kstrtab) }
+
+ . = ALIGN(16); /* Exception table */
+ __start___ex_table = .;
+ __ex_table : { *(__ex_table) }
+ __stop___ex_table = .;
+
+ __start___ksymtab = .; /* Kernel symbol table */
+ __ksymtab : { *(__ksymtab) }
+ __stop___ksymtab = .;
+
+ .unprotected : { *(.unprotected) }
+ . = ALIGN(4096);
+ PROVIDE (_unprotected_end = .);
+
+ . = ALIGN(4096);
+ __uml_setup_start = .;
+ .uml.setup.init : { *(.uml.setup.init) }
+ __uml_setup_end = .;
+ __uml_help_start = .;
+ .uml.help.init : { *(.uml.help.init) }
+ __uml_help_end = .;
+ __uml_postsetup_start = .;
+ .uml.postsetup.init : { *(.uml.postsetup.init) }
+ __uml_postsetup_end = .;
+ __setup_start = .;
+ .setup.init : { *(.setup.init) }
+ __setup_end = .;
+ __initcall_start = .;
+ .initcall.init : { *(.initcall.init) }
+ __initcall_end = .;
+ __uml_initcall_start = .;
+ .uml.initcall.init : { *(.uml.initcall.init) }
+ __uml_initcall_end = .;
+ __init_end = .;
+ __exitcall_begin = .;
+ .exitcall : { *(.exitcall.exit) }
+ __exitcall_end = .;
+ __uml_exitcall_begin = .;
+ .uml.exitcall : { *(.uml.exitcall.exit) }
+ __uml_exitcall_end = .;
+
+ .data.init : { *(.data.init) }
diff --git a/arch/um/dyn_link.ld.in b/arch/um/dyn_link.ld.in
index 9abbaed..5830d20 100644
--- a/arch/um/dyn_link.ld.in
+++ b/arch/um/dyn_link.ld.in
@@ -61,17 +61,6 @@ SECTIONS
KEEP (*(.fini))
} =0x90909090
- .kstrtab : { *(.kstrtab) }
-
- . = ALIGN(16); /* Exception table */
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- __start___ksymtab = .; /* Kernel symbol table */
- __ksymtab : { *(__ksymtab) }
- __stop___ksymtab = .;
-
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
@@ -83,38 +72,7 @@ SECTIONS
. = ALIGN(4096);
PROVIDE (_sdata = .);
- .unprotected : { *(.unprotected) }
- . = ALIGN(4096);
- PROVIDE (_unprotected_end = .);
-
- . = ALIGN(4096);
- __uml_setup_start = .;
- .uml.setup.init : { *(.uml.setup.init) }
- __uml_setup_end = .;
- __uml_help_start = .;
- .uml.help.init : { *(.uml.help.init) }
- __uml_help_end = .;
- __uml_postsetup_start = .;
- .uml.postsetup.init : { *(.uml.postsetup.init) }
- __uml_postsetup_end = .;
- __setup_start = .;
- .setup.init : { *(.setup.init) }
- __setup_end = .;
- __initcall_start = .;
- .initcall.init : { *(.initcall.init) }
- __initcall_end = .;
- __uml_initcall_start = .;
- .uml.initcall.init : { *(.uml.initcall.init) }
- __uml_initcall_end = .;
- __init_end = .;
- __exitcall_begin = .;
- .exitcall : { *(.exitcall.exit) }
- __exitcall_end = .;
- __uml_exitcall_begin = .;
- .uml.exitcall : { *(.uml.exitcall.exit) }
- __uml_exitcall_end = .;
-
- .data.init : { *(.data.init) }
+include(`arch/um/common.ld.in')
/* Ensure the __preinit_array_start label is properly aligned. We
could instead move the label definition inside the section, but
diff --git a/arch/um/link.ld.in b/arch/um/link.ld.in
index af4e62b..30998a8 100644
--- a/arch/um/link.ld.in
+++ b/arch/um/link.ld.in
@@ -31,16 +31,6 @@ ifdef(`MODE_TT', `
*(.gnu.warning)
*(.gnu.linkonce.t*)
}
- .kstrtab : { *(.kstrtab) }
-
- . = ALIGN(16); /* Exception table */
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- __start___ksymtab = .; /* Kernel symbol table */
- __ksymtab : { *(__ksymtab) }
- __stop___ksymtab = .;
.fini : { *(.fini) } =0x9090
.rodata : { *(.rodata) *(.gnu.linkonce.r*) }
.rodata1 : { *(.rodata1) }
@@ -50,38 +40,8 @@ ifdef(`MODE_TT', `
. = ALIGN(4096);
PROVIDE (_sdata = .);
- .unprotected : { *(.unprotected) }
- . = ALIGN(4096);
- PROVIDE (_unprotected_end = .);
-
- . = ALIGN(4096);
- __uml_setup_start = .;
- .uml.setup.init : { *(.uml.setup.init) }
- __uml_setup_end = .;
- __uml_help_start = .;
- .uml.help.init : { *(.uml.help.init) }
- __uml_help_end = .;
- __uml_postsetup_start = .;
- .uml.postsetup.init : { *(.uml.postsetup.init) }
- __uml_postsetup_end = .;
- __setup_start = .;
- .setup.init : { *(.setup.init) }
- __setup_end = .;
- __initcall_start = .;
- .initcall.init : { *(.initcall.init) }
- __initcall_end = .;
- __uml_initcall_start = .;
- .uml.initcall.init : { *(.uml.initcall.init) }
- __uml_initcall_end = .;
- __init_end = .;
- __exitcall_begin = .;
- .exitcall : { *(.exitcall.exit) }
- __exitcall_end = .;
- __uml_exitcall_begin = .;
- .uml.exitcall : { *(.uml.exitcall.exit) }
- __uml_exitcall_end = .;
+include(`arch/um/common.ld.in')
- .data.init : { *(.data.init) }
.data :
{
. = ALIGN(KERNEL_STACK_SIZE); /* init_task */