nuttx/include
Neale Ferguson fec789047a Add support for the loading of ET_DYN objects
* libs/libc/machine/arm/armv7-m/arch_elf.c
      - Fix cast of error message parameters

    * build-globals.sh
      - Build the modlib_globals.S file used to resolve symbols when dynamically loading

    * libs/libc/modlib/Make.defs
      - Build modlib_globals.S for all targets

    * libs/libc/modlib/modlib_load.c
      - Calculate sizes and text/data addresses based on program headers rather than section headers
      - Handle objects with no program headers

    * libs/libc/modlib/modlib_bind.c
      - Call modlib_readsym with pointer to symbol table
      - Add modlib_relocatedyn to manage relocation of symbols with shared object (ET_DYN)
      - Differentiate between ET_REL and ET_DYN objects
      - Use arch independent symbol ELF_R_SYM
      - Cast sizes to avoid warnings

    * libs/libc/modlib/modlib_load.c
      - Cast sizes to avoid warnings

    * include/elf.h
      - Add definitions that may be found in shared objects

    * include/nuttx/lib/modlib.h
      - Add parameter to modlib_readsym prototype
      - Add prototypes for:
        - modlib_insertsymtab
        - modlib_findglobal
      - Define Elf_Dyn and Elf_Off according to the elf architecture
      - Add fields to mod_loadifno_s:
        - Program headers
        - Exported symbols
        - Data section address
        - Padding requirement
        - Section index for dynamic symbol table
        - Number of symbols exported
      - Add prottotype for modlib_freesymtab

    * libs/libc/dlfcn/lib_dlclose.c
      - Free the symbol table when the dll is closed

    * libs/libc/dlfcn/lib_dlopen.c
      - Add dump of program headers to debug routine
      - Differentiate between ET_REL and ET_DYN objects

    * libs/libc/machine/arm/armv7-m/arch_elf.c
      - Add handling of R_ARM_RELATIVE and R_ARM_JUMP slot relocation types

    * libs/libc/modlib/modlib_loadshdrs.c
      - Rename modlib_loadshdrs.c to modlib_loadhdrs.c
      - Rename modlib_loadshdrs to modlib_loadhdrs
      - Add code to load program headers

    * libs/libc/modlib/modlib_symbols.c
      - Define entry point structure
      - Add offset parameter to modlib_symname() and use to find symbol names
      - Add symtab section header parameter to modlib_readsym()
      - Add offset parameter to modlib_symvalue() to locate symbol names
      - Add modlib_insertsyntab() to create a symbol table for exporting and resolution
      - Add findEP() to resolve a symbol in the modlib_global table
      - Add modlib_findglobal() to find symbol in the modlib_global table
      - Add modlib_freesymtab() to free the symbol table

    * libs/libc/modlib/modlib_uninit.c
      - Free header and sections from a module_loadinfo_s control block

    * libs/libc/modlib/modlib_verify.c
      - Handle ET_DYN shared objects

    * libs/libc/modlib/modlib_globals.S
      - Multi-target global table
      - Define library APIs that may be resolved when loading a shared object
2023-07-06 09:13:38 -03:00
..
android libc/misc: add fdsan module 2023-05-17 10:24:42 +08:00
arpa
crypto
cxx
net ethernet: add ETHERTYPE define 2023-05-04 19:38:57 +08:00
netinet Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
netpacket netlink: add RTM_NEWADDR, RTM_DELADDR and RTM_GETADDR 2023-04-22 01:35:18 +08:00
nuttx Add support for the loading of ET_DYN objects 2023-07-06 09:13:38 -03:00
ssp
sys sched/clock/clock_getcpuclockid: add clock_getcpuclockid implementation 2023-07-05 00:32:11 +08:00
.gitignore
aio.h
alloca.h
assert.h assert: disable function/line print if DEBUG_ASSERTIONS_FILENAME disabled 2023-06-12 13:36:08 +08:00
byteswap.h
ctype.h
debug.h assert: disable function/line print if DEBUG_ASSERTIONS_FILENAME disabled 2023-06-12 13:36:08 +08:00
dirent.h
dlfcn.h
dsp.h libdsp: Add average filter 2023-06-12 08:39:38 +02:00
dspb16.h
elf32.h
elf64.h
elf.h Add support for the loading of ET_DYN objects 2023-07-06 09:13:38 -03:00
endian.h
err.h include/err: Enforce c linkage for err and warn functions. 2023-05-01 12:48:55 +08:00
errno.h errno: Adjust help string for EALREADY and ESTALE 2023-07-03 13:38:02 +08:00
execinfo.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
fcntl.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
fixedmath.h
fnmatch.h
ftw.h
getopt.h
glob.h
grp.h
hex2bin.h
iconv.h libc/locale: support iconv_open,iconv,iconv_close 2023-04-25 19:12:53 +01:00
ifaddrs.h
inttypes.h
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
locale.h
lzf.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
malloc.h mm: Rename PID_MM_INVALID to PID_MM_LEAK 2023-06-18 14:26:07 +03:00
mqueue.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
netdb.h
nl_types.h
nxflat.h
obstack.h
poll.h
pthread.h sched/tls: remove PTHREAD_CLEANUP from Kconfig 2023-06-14 12:00:48 +08:00
pty.h
pwd.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
regex.h include/regex.h: add missing FAR 2023-05-19 02:40:38 +08:00
resolv.h
sched.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
semaphore.h semaphore: Optimize priority inheritance with only one holder 2023-06-17 08:26:46 +03:00
signal.h signal: correct to const pointer for sigorset and sigandset 2023-07-05 16:26:18 +08:00
spawn.h
stdbool.h
stddef.h
stdint.h
stdio.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
stdlib.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
stdnoreturn.h
string.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
strings.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
syscall.h
syslog.h syslog: add syslog option definition 2023-05-05 18:36:36 +08:00
termios.h
threads.h
time.h sched/clock/clock_getcpuclockid: add clock_getcpuclockid implementation 2023-07-05 00:32:11 +08:00
unistd.h sched/clock/clock_getres: add two CPUTIME_ID res support 2023-07-03 23:11:00 +03:00
utime.h
uuid.h
wchar.h Support gcc FORTIFY_SOURCE features for nuttx libc 2023-06-22 20:38:45 +08:00
wctype.h