boards: lm3s6965-ek: added config to run NuttX with enabled NXFLAT binary loader mode on QEMU;

Conditionally turn off -mpic-data-is-text-relative flag to access bss via the GOT
(https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111).

This is related to issue #3737.
This commit is contained in:
Alexander Lunev 2021-05-22 21:25:05 +03:00 committed by Xiang Xiao
parent 02d42e4f03
commit 1bb23a7a33
4 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,75 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_FS_PROCFS_EXCLUDE_ENVIRON is not set
# CONFIG_NSH_DISABLE_DATE is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="lm3s6965-ek"
CONFIG_ARCH_BOARD_LM3S6965EK=y
CONFIG_ARCH_CHIP="tiva"
CONFIG_ARCH_CHIP_LM3S6965=y
CONFIG_ARCH_CHIP_LM3S=y
CONFIG_ARCH_CHIP_LM=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y
CONFIG_BOARDCTL_ROMDISK=y
CONFIG_BOARD_LOOPSPERMSEC=4531
CONFIG_CLOCK_MONOTONIC=y
CONFIG_EXAMPLES_NXFLAT=y
CONFIG_FS_ROMFS=y
CONFIG_LIBM=y
CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=16
CONFIG_NET=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_NAMESIZE=64
CONFIG_NETDB_DNSSERVER_NOADDR=y
CONFIG_NETDB_MAX_IPADDR=2
CONFIG_NETINIT_DHCPC=y
CONFIG_NETINIT_NOMAC=y
CONFIG_NETUTILS_NETCAT=y
CONFIG_NETUTILS_TELNETD=y
CONFIG_NETUTILS_TFTPC=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_ICMP=y
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_SOCKOPTS=y
CONFIG_NET_STATISTICS=y
CONFIG_NET_TCP=y
CONFIG_NET_UDP=y
CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NXFLAT=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAM_SIZE=65536
CONFIG_RAM_START=0x20000000
CONFIG_RAW_BINARY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SDCLONE_DISABLE=y
CONFIG_SIG_DEFAULT=y
CONFIG_SIG_PIPE=11
CONFIG_SPI=y
CONFIG_START_DAY=8
CONFIG_START_MONTH=5
CONFIG_START_YEAR=2010
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_TASK_NAME_SIZE=0
CONFIG_TIVA_ETHERNET=y
CONFIG_TIVA_GPIOA_IRQS=y
CONFIG_TIVA_GPIOB_IRQS=y
CONFIG_TIVA_GPIOC_IRQS=y
CONFIG_TIVA_GPIOD_IRQS=y
CONFIG_TIVA_GPIOE_IRQS=y
CONFIG_TIVA_GPIOF_IRQS=y
CONFIG_TIVA_GPIOG_IRQS=y
CONFIG_TIVA_SSI0=y
CONFIG_TIVA_UART0=y
CONFIG_TIVA_WITH_QEMU=y
CONFIG_UART0_SERIAL_CONSOLE=y
CONFIG_USER_ENTRYPOINT="nxflat_main"

View File

@ -41,6 +41,17 @@ ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fcheck-new
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
ARCHWARNINGSXX = -Wall -Wshadow -Wundef
ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
ifeq ($(CONFIG_NXFLAT),y)
# mpic-data-is-text-relative flag first time appeared in GCC source code tree on 2016-Jul-12
# and it was included in GCC 4.9.4 release on 2016-Aug-03.
ARCHCC_HAS_PIC_DATA_IS_TEXT_RELATIVE_FLAG = ${shell $(CC) --target-help 2>&1 | grep -c "mpic-data-is-text-relative"}
# Turn off -mpic-data-is-text-relative flag to access bss via the GOT
# (https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111)
ifneq ($(ARCHCC_HAS_PIC_DATA_IS_TEXT_RELATIVE_FLAG),0)
ARCHPICFLAGS += -mno-pic-data-is-text-relative
endif
endif
CFLAGS := $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)

View File

@ -5,6 +5,7 @@
-imxrt1060-evk:libcxxtest
-launchxl-cc1310:nsh
-launchxl-tms57004:nsh
-lm3s6965-ek:qemu-nxflat
-lpcxpresso-lpc1768:thttpd
-moxa:nsh
-olimex-lpc1766stk:slip-httpd

View File

@ -7,4 +7,5 @@
-eagle100:thttpd
-launchxl-cc1310:nsh
-launchxl-tms57004:nsh
-lm3s6965-ek:qemu-nxflat
-tms570ls31x-usb-kit:nsh