diff options
Diffstat (limited to 'c/src')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/startup/linkcmds.base | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/make/custom/erc32.cfg | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/startup/linkcmds.base | 35 | ||||
-rw-r--r-- | c/src/make/Makefile.am | 2 | ||||
-rw-r--r-- | c/src/make/bsp.mk.in | 59 | ||||
-rw-r--r-- | c/src/make/configure.ac | 1 |
6 files changed, 103 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base index d6561dde77..008685ee67 100644 --- a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base @@ -310,6 +310,15 @@ SECTIONS { _bsd__start_set_sysctl_set = .; *(_bsd_set_sysctl_set); _bsd__stop_set_sysctl_set = .; + __start_pcpu_set = .; + *(set_pcpu); + __stop_pcpu_set = .; + _bsd__start_set_ieee80211_ioctl_getset = .; + *(_bsd_set_ieee80211_ioctl_getset); + _bsd__stop_set_ieee80211_ioctl_getset = .; + _bsd__start_set_ieee80211_ioctl_setset = .; + *(_bsd_set_ieee80211_ioctl_setset); + _bsd__stop_set_ieee80211_ioctl_setset = .; bsp_section_rodata_end = .; } > REGION_RODATA AT > REGION_RODATA_LOAD diff --git a/c/src/lib/libbsp/sparc/erc32/make/custom/erc32.cfg b/c/src/lib/libbsp/sparc/erc32/make/custom/erc32.cfg index 3879d3dc73..f1fced8bc6 100644 --- a/c/src/lib/libbsp/sparc/erc32/make/custom/erc32.cfg +++ b/c/src/lib/libbsp/sparc/erc32/make/custom/erc32.cfg @@ -12,4 +12,4 @@ RTEMS_CPU_MODEL=erc32 CPU_CFLAGS = -mcpu=cypress # optimize flag: typically -O2 -CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V = -O0 -g diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base index 1bbb77374e..ab5a9ef604 100644 --- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base @@ -120,6 +120,9 @@ SECTIONS } > ram .rela.dyn : { + data_start = .; + _data_start = .; + _sdata = . ; *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) @@ -132,11 +135,37 @@ SECTIONS *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >ram + .robsdsets : { + /* Special FreeBSD linker set sections */ + __start_set_sysctl_set = .; + *(set_sysctl_*); + __stop_set_sysctl_set = .; + *(set_domain_*); + *(set_pseudo_*); + _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 = .; + __start_pcpu_set = .; + *(set_pcpu); + __stop_pcpu_set = .; + _bsd__start_set_ieee80211_ioctl_getset = .; + *(_bsd_set_ieee80211_ioctl_getset); + _bsd__stop_set_ieee80211_ioctl_getset = .; + _bsd__start_set_ieee80211_ioctl_setset = .; + *(_bsd_set_ieee80211_ioctl_setset); + _bsd__stop_set_ieee80211_ioctl_setset = .; + } >ram + .rwbsdsets : { + /* Special FreeBSD linker set sections */ + _bsd__start_set_sysinit_set = .; + *(_bsd_set_sysinit_set); + _bsd__stop_set_sysinit_set = .; + } >ram .data : { - data_start = .; - _data_start = .; - _sdata = . ; *(.data*) *(.gnu.linkonce.d*) *(.gcc_except_table*) diff --git a/c/src/make/Makefile.am b/c/src/make/Makefile.am index d0383df8ed..b3ca7c0a7a 100644 --- a/c/src/make/Makefile.am +++ b/c/src/make/Makefile.am @@ -18,7 +18,7 @@ rtems_bspdir = $(rtemsdir)/@RTEMS_BSP@ rtems_bsp_DATA = Makefile.inc rtems_bsp_makedir = $(rtems_bspdir)/make -rtems_bsp_make_DATA = bsp.cfg target.cfg +rtems_bsp_make_DATA = bsp.cfg target.cfg bsp.mk bsp.cfg: bsp.cfg.in Makefile sed \ diff --git a/c/src/make/bsp.mk.in b/c/src/make/bsp.mk.in new file mode 100644 index 0000000000..12a4e1936f --- /dev/null +++ b/c/src/make/bsp.mk.in @@ -0,0 +1,59 @@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +RTEMS_API = @RTEMS_API@ +RTEMS_BSP = @RTEMS_BSP@ +RTEMS_ROOT = @prefix@ +RTEMS_SHARE = $(RTEMS_ROOT)/share/rtems$(RTEMS_API) +PROJECT_ROOT = @exec_prefix@/@RTEMS_BSP@ +PROJECT_INCLUDE = $(PROJECT_ROOT)/lib/include +PROJECT_LIB = $(PROJECT_ROOT)/lib +BUILDDIR = build-$(RTEMS_BSP) + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg + +DEPFLAGS = -MT $@ -MD -MP -MF $(basename $@).d +SYSFLAGS = -B $(PROJECT_LIB) -specs bsp_specs -qrtems +WARNFLAGS = -Wall -Wextra -Wformat=2 -Wcast-qual -Wconversion -Wno-unused +OPTFLAGS = $(CFLAGS_OPTIMIZE_V) + +CFLAGS = $(DEPFLAGS) $(SYSFLAGS) $(WARNFLAGS) $(CPU_CFLAGS) $(OPTFLAGS) +CXXFLAGS = $(DEPFLAGS) $(SYSFLAGS) $(WARNFLAGS) $(CPU_CFLAGS) $(OPTFLAGS) +LINKFLAGS = $(SYSFLAGS) $(CPU_CFLAGS) $(LDFLAGS) $(OPTFLAGS) +ASFLAGS = $(CPU_CFLAGS) + +CCLINK = $(CC) $(LINKFLAGS) -Wl,-Map,$(basename $@).map +CXXLINK = $(CXX) $(LINKFLAGS) -Wl,-Map,$(basename $@).map + +$(BUILDDIR)/%.o: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.S + $(CC) $(CPPFLAGS) -DASM $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.cc + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.s + $(AS) $(ASFLAGS) $< -o $@ + +AR = @AR@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +LD = @LD@ +NM = @NM@ +OBJCOPY = @OBJCOPY@ +RANLIB = @RANLIB@ +SIZE = @SIZE@ +STRIP = @STRIP@ +export AR +export AS +export CC +export CXX +export LD +export NM +export OBJCOPY +export RANLIB +export SIZE +export STRIP diff --git a/c/src/make/configure.ac b/c/src/make/configure.ac index 1517c68a99..0a5abd959f 100644 --- a/c/src/make/configure.ac +++ b/c/src/make/configure.ac @@ -78,5 +78,6 @@ AC_CONFIG_LINKS([leaf.cfg:leaf.cfg]) # Explicitly list all Makefiles here AC_CONFIG_FILES([Makefile +bsp.mk ]) AC_OUTPUT |