Finish implemention of ELF loader static constructor support. Still some issues.

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5272 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-10-29 00:52:23 +00:00
parent 447f38418a
commit 87c59956d8
2 changed files with 7 additions and 265 deletions

View File

@ -161,6 +161,8 @@ LDNXFLATFLAGS = -e main -s 2048
# ELF module definitions
CELFFLAGS = $(CFLAGS) -mlong-calls
CXXELFFLAGS = $(CXXFLAGS) -mlong-calls
LDELFFLAGS = -r -e main
ifeq ($(WINTOOL),y)
LDELFFLAGS += -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/gnu-elf.ld}"

View File

@ -28,6 +28,7 @@ CONFIG_INTELHEX_BINARY=y
#
# CONFIG_ARCH_STDBOOL_H is not set
# CONFIG_ARCH_MATH_H is not set
# CONFIG_ARCH_FLOAT_H is not set
# CONFIG_ARCH_STDARG_H is not set
#
@ -387,7 +388,7 @@ CONFIG_ELF_ALIGN_LOG2=2
CONFIG_ELF_STACKSIZE=2048
CONFIG_ELF_BUFFERSIZE=128
CONFIG_ELF_BUFFERINCR=32
# CONFIG_ELF_CONSTRUCTORS is not set
CONFIG_ELF_CONSTRUCTORS=y
CONFIG_SYMTAB_ORDEREDBYNAME=y
#
@ -397,6 +398,7 @@ CONFIG_STDIO_BUFFER_SIZE=256
CONFIG_STDIO_LINEBUFFER=y
CONFIG_NUNGET_CHARS=2
CONFIG_LIB_HOMEDIR="/"
# CONFIG_LIBM is not set
# CONFIG_NOPRINTF_FIELDWIDTH is not set
# CONFIG_LIBC_FLOATINGPOINT is not set
# CONFIG_EOL_IS_CR is not set
@ -425,264 +427,57 @@ CONFIG_HAVE_CXX=y
#
# Examples
#
#
# ADC Example
#
#
# Buttons Example
#
# CONFIG_EXAMPLES_BUTTONS is not set
#
# CAN Example
#
# CONFIG_EXAMPLES_CAN is not set
#
# USB CDC/ACM Class Driver Example
#
# CONFIG_EXAMPLES_CDCACM is not set
#
# USB composite Class Driver Example
#
# CONFIG_EXAMPLES_COMPOSITE is not set
#
# DHCP Server Example
#
# CONFIG_EXAMPLES_DHCPD is not set
#
# ELF Loader Example
#
CONFIG_EXAMPLES_ELF=y
CONFIG_EXAMPLES_ELF_DEVMINOR=0
CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram0"
#
# FTP Client Example
#
# CONFIG_EXAMPLES_FTPC is not set
#
# FTP Server Example
#
# CONFIG_EXAMPLES_FTPD is not set
#
# "Hello, World!" Example
#
# CONFIG_EXAMPLES_HELLO is not set
#
# "Hello, World!" C++ Example
#
# CONFIG_EXAMPLES_HELLOXX is not set
#
# USB HID Keyboard Example
#
# CONFIG_EXAMPLES_JSON is not set
# CONFIG_EXAMPLES_HIDKBD is not set
#
# IGMP Example
#
# CONFIG_EXAMPLES_IGMP is not set
#
# LCD Read/Write Example
#
# CONFIG_EXAMPLES_LCDRW is not set
#
# Memory Management Example
#
# CONFIG_EXAMPLES_MM is not set
#
# File System Mount Example
#
# CONFIG_EXAMPLES_MOUNT is not set
#
# FreeModBus Example
#
# CONFIG_EXAMPLES_MODBUS is not set
#
# Network Test Example
#
# CONFIG_EXAMPLES_NETTEST is not set
#
# NuttShell (NSH) Example
#
# CONFIG_EXAMPLES_NSH is not set
#
# NULL Example
#
# CONFIG_EXAMPLES_NULL is not set
#
# NX Graphics Example
#
# CONFIG_EXAMPLES_NX is not set
#
# NxConsole Example
#
# CONFIG_EXAMPLES_NXCONSOLE is not set
#
# NXFFS File System Example
#
# CONFIG_EXAMPLES_NXFFS is not set
#
# NXFLAT Example
#
# CONFIG_EXAMPLES_NXFLAT is not set
#
# NX Graphics "Hello, World!" Example
#
# CONFIG_EXAMPLES_NXHELLO is not set
#
# NX Graphics image Example
#
# CONFIG_EXAMPLES_NXIMAGE is not set
#
# NX Graphics lines Example
#
# CONFIG_EXAMPLES_NXLINES is not set
#
# NX Graphics Text Example
#
# CONFIG_EXAMPLES_NXTEXT is not set
#
# OS Test Example
#
# CONFIG_EXAMPLES_OSTEST is not set
#
# Pascal "Hello, World!"example
#
# CONFIG_EXAMPLES_PASHELLO is not set
#
# Pipe Example
#
# CONFIG_EXAMPLES_PIPE is not set
#
# Poll Example
#
# CONFIG_EXAMPLES_POLL is not set
#
# Pulse Width Modulation (PWM) Example
#
#
# Quadrature Encoder Example
#
# CONFIG_EXAMPLES_QENCODER is not set
#
# RGMP Example
#
# CONFIG_EXAMPLES_RGMP is not set
#
# ROMFS Example
#
# CONFIG_EXAMPLES_ROMFS is not set
#
# sendmail Example
#
# CONFIG_EXAMPLES_SENDMAIL is not set
#
# Serial Loopback Example
#
# CONFIG_EXAMPLES_SERLOOP is not set
#
# Telnet Daemon Example
#
# CONFIG_EXAMPLES_TELNETD is not set
#
# THTTPD Web Server Example
#
# CONFIG_EXAMPLES_THTTPD is not set
#
# TIFF Generation Example
#
# CONFIG_EXAMPLES_TIFF is not set
#
# Touchscreen Example
#
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
#
# UDP Example
#
# CONFIG_EXAMPLES_UDP is not set
#
# UDP Discovery Daemon Example
#
#
# uIP Web Server Example
#
# CONFIG_EXAMPLES_UIP is not set
#
# USB Serial Test Example
#
# CONFIG_EXAMPLES_USBSERIAL is not set
#
# USB Mass Storage Class Example
#
# CONFIG_EXAMPLES_USBMSC is not set
#
# USB Serial Terminal Example
#
# CONFIG_EXAMPLES_USBTERM is not set
#
# Watchdog timer Example
#
# CONFIG_EXAMPLES_WATCHDOG is not set
#
# wget Example
#
#
# WLAN Example
#
# CONFIG_EXAMPLES_WLAN is not set
#
# XML RPC Example
#
#
# Interpreters
#
@ -700,74 +495,19 @@ CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram0"
#
# Networking Utilities
#
#
# DHCP client
#
# CONFIG_NETUTILS_DHCPC is not set
#
# DHCP server
#
# CONFIG_NETUTILS_DHCPD is not set
#
# FTP client
#
# CONFIG_NETUTILS_FTPC is not set
#
# FTP server
#
# CONFIG_NETUTILS_FTPD is not set
#
# Name resolution
#
# CONFIG_NETUTILS_JSON is not set
# CONFIG_NETUTILS_RESOLV is not set
#
# SMTP
#
# CONFIG_NETUTILS_SMTP is not set
#
# TFTP client
#
# CONFIG_NETUTILS_TELNETD is not set
#
# TFTP client
#
# CONFIG_NETUTILS_TFTPC is not set
#
# THTTPD web server
#
# CONFIG_NETUTILS_THTTPD is not set
#
# uIP support library
#
# CONFIG_NETUTILS_UIPLIB is not set
#
# uIP web client
#
# CONFIG_NETUTILS_WEBCLIENT is not set
#
# uIP web server
#
#
# UDP Discovery Utility
#
#
# XML-RPC library
#
#
# ModBus
#