libs/symtab: move symtab/ to libs/symtab. Let's no clutter up the top level directory. Shorten CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYSTAB to just CONFIG_EXECFUNCS_SYSTEM_SYMTAB. Some items in syscall/syscall.csv are only valid when CONFIG_LIB_SYSCALL is defined. That is always defined when really building the syatem calls, but causes errors in libs/symtab because they are not valid in the normal, FLAT build context.

This commit is contained in:
Gregory Nutt
2019-08-25 19:28:04 -06:00
parent da9433a4c7
commit 65aabe3048
9 changed files with 15 additions and 14 deletions
+3 -1
View File
@@ -54,6 +54,7 @@ config EXECFUNCS_HAVE_SYMTAB
from your application initialization logic. from your application initialization logic.
if EXECFUNCS_HAVE_SYMTAB if EXECFUNCS_HAVE_SYMTAB
config EXECFUNCS_SYMTAB_ARRAY config EXECFUNCS_SYMTAB_ARRAY
string "Symbol table name used by exec[l|v]" string "Symbol table name used by exec[l|v]"
default "g_symtab" default "g_symtab"
@@ -76,7 +77,7 @@ config EXECFUNCS_NSYMBOLS_VAR
symbols in that table. This selection provides the name of an 'int' symbols in that table. This selection provides the name of an 'int'
variable that contains the number of symbols in the symbol table. variable that contains the number of symbols in the symbol table.
config EXECFUNCS_GENERATE_SYSTEM_SYMTAB config EXECFUNCS_SYSTEM_SYMTAB
bool "Generate and include system symbol table" bool "Generate and include system symbol table"
default n default n
---help--- ---help---
@@ -89,6 +90,7 @@ config EXECFUNCS_GENERATE_SYSTEM_SYMTAB
number of exported symbols g_nsymbols. It matches expected defaults number of exported symbols g_nsymbols. It matches expected defaults
from entries above. But they can be changed and generated symbol table from entries above. But they can be changed and generated symbol table
can be used as template by application. can be used as template by application.
endif # EXECFUNCS_HAVE_SYMTAB endif # EXECFUNCS_HAVE_SYMTAB
endif # LIBC_EXECFUNCS endif # LIBC_EXECFUNCS
+2 -3
View File
@@ -1,5 +1,5 @@
############################################################################ ############################################################################
# symtab/Makefile # libs/symtab/Makefile
# #
# Copyright (C) 2019 Gregory Nutt. All rights reserved. # Copyright (C) 2019 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
@@ -59,7 +59,7 @@ SYMTAB_CSRCS =
BIN = libsymtab$(LIBEXT) BIN = libsymtab$(LIBEXT)
ifeq ($(CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB),y) ifeq ($(CONFIG_EXECFUNCS_SYSTEM_SYMTAB),y)
all: symtab.c $(BIN) all: symtab.c $(BIN)
.PHONY: all .PHONY: all
@@ -104,4 +104,3 @@ distclean: clean
$(call DELFILE, tmp.csv) $(call DELFILE, tmp.csv)
-include Make.dep -include Make.dep
+1 -1
View File
@@ -63,7 +63,7 @@
"mq_timedreceive","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","ssize_t","mqd_t","char*","size_t","FAR unsigned int*","const struct timespec*" "mq_timedreceive","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","ssize_t","mqd_t","char*","size_t","FAR unsigned int*","const struct timespec*"
"mq_timedsend","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","mqd_t","const char*","size_t","unsigned int","const struct timespec*" "mq_timedsend","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","mqd_t","const char*","size_t","unsigned int","const struct timespec*"
"mq_unlink","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","const char*" "mq_unlink","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","const char*"
"nx_task_spawn","nuttx/spawn.h","!defined(CONFIG_BUILD_KERNEL)","int","FAR const struct spawn_syscall_parms_s *" "nx_task_spawn","nuttx/spawn.h","!defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_LIB_SYSCALL)","int","FAR const struct spawn_syscall_parms_s *"
"nx_vsyslog","nuttx/syslog/syslog.h","","int","int","FAR const IPTR char*","FAR va_list*" "nx_vsyslog","nuttx/syslog/syslog.h","","int","int","FAR const IPTR char*","FAR va_list*"
"on_exit","stdlib.h","defined(CONFIG_SCHED_ONEXIT)","int","CODE void (*)(int, FAR void *)","FAR void *" "on_exit","stdlib.h","defined(CONFIG_SCHED_ONEXIT)","int","CODE void (*)(int, FAR void *)","FAR void *"
"open","fcntl.h","","int","const char*","int","..." "open","fcntl.h","","int","const char*","int","..."
1 _exit unistd.h void int
63 mq_timedreceive mqueue.h !defined(CONFIG_DISABLE_MQUEUE) ssize_t mqd_t
64 mq_timedsend mqueue.h !defined(CONFIG_DISABLE_MQUEUE) int mqd_t
65 mq_unlink mqueue.h !defined(CONFIG_DISABLE_MQUEUE) int const char*
66 nx_task_spawn nuttx/spawn.h !defined(CONFIG_BUILD_KERNEL) !defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_LIB_SYSCALL) int FAR const struct spawn_syscall_parms_s *
67 nx_vsyslog nuttx/syslog/syslog.h int int
68 on_exit stdlib.h defined(CONFIG_SCHED_ONEXIT) int CODE void (*)(int, FAR void *)
69 open fcntl.h int const char*
+3 -3
View File
@@ -85,10 +85,10 @@ CONTEXTDIRS = boards $(APPDIR)
USERDIRS = USERDIRS =
OTHERDIRS = pass1 OTHERDIRS = pass1
ifeq ($(CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB),y) ifeq ($(CONFIG_EXECFUNCS_SYSTEM_SYMTAB),y)
USERDIRS += symtab USERDIRS += libs$(DELIM)symtab
else else
OTHERDIRS += symtab OTHERDIRS += libs$(DELIM)symtab
endif endif
ifeq ($(CONFIG_BUILD_PROTECTED),y) ifeq ($(CONFIG_BUILD_PROTECTED),y)
+1 -1
View File
@@ -144,7 +144,7 @@ endif
# Add symbol table library # Add symbol table library
ifeq ($(CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB),y) ifeq ($(CONFIG_EXECFUNCS_SYSTEM_SYMTAB),y)
NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT) NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT)
endif endif
+1 -1
View File
@@ -138,7 +138,7 @@ endif
# Add symbol table library # Add symbol table library
ifeq ($(CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB),y) ifeq ($(CONFIG_EXECFUNCS_SYSTEM_SYMTAB),y)
NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT) NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT)
endif endif
+3 -3
View File
@@ -200,10 +200,10 @@ syscall$(DELIM)libproxies$(LIBEXT): context
staging$(DELIM)libproxies$(LIBEXT): syscall$(DELIM)libproxies$(LIBEXT) staging$(DELIM)libproxies$(LIBEXT): syscall$(DELIM)libproxies$(LIBEXT)
$(Q) $(call INSTALL_LIB,$<,$@) $(Q) $(call INSTALL_LIB,$<,$@)
symtab$(DELIM)libsymtab$(LIBEXT): context libs$(DELIM)symtab$(DELIM)libsymtab$(LIBEXT): context
$(Q) $(MAKE) -C symtab TOPDIR="$(TOPDIR)" libsymtab$(LIBEXT) KERNEL=n $(Q) $(MAKE) -C libs$(DELIM)symtab TOPDIR="$(TOPDIR)" libsymtab$(LIBEXT) KERNEL=n
staging$(DELIM)libsymtab$(LIBEXT): symtab$(DELIM)libsymtab$(LIBEXT) staging$(DELIM)libsymtab$(LIBEXT): libs$(DELIM)symtab$(DELIM)libsymtab$(LIBEXT)
$(Q) $(call INSTALL_LIB,$<,$@) $(Q) $(call INSTALL_LIB,$<,$@)
# Possible non-kernel builds # Possible non-kernel builds
+1 -1
View File
@@ -145,7 +145,7 @@ endif
# Add symbol table library # Add symbol table library
ifeq ($(CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB),y) ifeq ($(CONFIG_EXECFUNCS_SYSTEM_SYMTAB),y)
NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT) NUTTXLIBS += staging$(DELIM)libsymtab$(LIBEXT)
endif endif