summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2012-07-14 14:29:41 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2012-07-14 14:29:41 -0500
commitdc8ea655bd5c692768182dab60f852335f2b62e6 (patch)
treefce1694f21f490c04998794204f9e15b16759b6c
parentMerge branch 'master' of ssh://git.rtems.org/data/git/rtems (diff)
parentshsim linkcmds: Add new FreeBSD TCP/IP stack sections (diff)
downloadrtems-dc8ea655bd5c692768182dab60f852335f2b62e6.tar.bz2
Merge branch 'master' of ssh://git.rtems.org/data/git/rtems
-rw-r--r--c/src/lib/libbsp/i386/pc386/startup/linkcmds16
-rw-r--r--c/src/lib/libbsp/sh/shsim/startup/linkcmds24
-rw-r--r--c/src/lib/libbsp/sparc/shared/startup/linkcmds.base35
3 files changed, 58 insertions, 17 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/startup/linkcmds b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
index ada68cc2b3..e3392c9cce 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
@@ -70,27 +70,31 @@ SECTIONS
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
+
+ } =0x90909090
+
+ .robsdsets : {
+ /* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
*(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
+ __stop_set_sysctl_set = .;
*(set_domain_*);
*(set_pseudo_*);
+
+ /* for rtems-libbsd FreeBSD code */
_bsd__start_set_modmetadata_set = .;
*(_bsd_set_modmetadata_set);
_bsd__stop_set_modmetadata_set = .;
+
_bsd__start_set_sysctl_set = .;
*(_bsd_set_sysctl_set);
_bsd__stop_set_sysctl_set = .;
+
_bsd__start_set_sysinit_set = .;
*(_bsd_set_sysinit_*);
_bsd__stop_set_sysinit_set = .;
bsp_section_rodata_end = .;
-
} =0x90909090
.init :
diff --git a/c/src/lib/libbsp/sh/shsim/startup/linkcmds b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
index 70437f4681..d85a3d63a3 100644
--- a/c/src/lib/libbsp/sh/shsim/startup/linkcmds
+++ b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
@@ -157,6 +157,30 @@ SECTIONS
*(.dtors)
___dtors_end = .;
}
+ .robsdsets : {
+ /* for pre rtems-libbsd FreeBSD code */
+ __start_set_sysctl_set = .;
+ *(set_sysctl_*);
+ __stop_set_sysctl_set = .;
+ *(set_domain_*);
+ *(set_pseudo_*);
+
+ /* for rtems-libbsd FreeBSD code */
+ __bsd__start_set_modmetadata_set = .;
+ *(_bsd_set_modmetadata_set);
+ __bsd__stop_set_modmetadata_set = .;
+
+ __bsd__start_set_sysctl_set = .;
+ *(_bsd_set_sysctl_set);
+ __bsd__stop_set_sysctl_set = .;
+
+ __bsd__start_set_sysinit_set = .;
+ *(_bsd_set_sysinit_*);
+ __bsd__stop_set_sysinit_set = .;
+
+ _bsp_section_rodata_end = .;
+ } >ram
+
.got . : { *(.got.plt) *(.got) }
.dynamic . : { *(.dynamic) }
/* We want the small data sections together, so single-instruction offsets
diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
index 1bbb77374e..47e67836bd 100644
--- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
@@ -62,16 +62,6 @@ SECTIONS
*(.text*)
. = ALIGN (16);
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
*(.eh_frame)
. = ALIGN (16);
@@ -116,8 +106,31 @@ SECTIONS
*(.lit)
*(.shdata)
. = ALIGN (16);
- _endtext = .;
} > ram
+ .robsdsets : {
+ /* for pre rtems-libbsd FreeBSD code */
+ __start_set_sysctl_set = .;
+ *(set_sysctl_*);
+ __stop_set_sysctl_set = .;
+ *(set_domain_*);
+ *(set_pseudo_*);
+
+ /* for rtems-libbsd FreeBSD code */
+ _bsd__start_set_modmetadata_set = .;
+ *(_bsd_set_modmetadata_set);
+ _bsd__stop_set_modmetadata_set = .;
+
+ _bsd__start_set_sysctl_set = .;
+ *(_bsd_set_sysctl_set);
+ _bsd__stop_set_sysctl_set = .;
+
+ _bsd__start_set_sysinit_set = .;
+ *(_bsd_set_sysinit_*);
+ _bsd__stop_set_sysinit_set = .;
+
+ bsp_section_rodata_end = .;
+ } >ram
+ _endtext = .;
.rela.dyn :
{
*(.rela.init)