incubator-nuttx/binfmt
YAMAMOTO Takashi e596d5bd5e binfmt/libelf: Implement sh_addralign handling
Basically, mirror the following two commits from modlib.
It's shame we have two copies of elf loaders.

```
commit 51490bad55
Author: YAMAMOTO Takashi <yamamoto@midokura.com>
Date:   Wed Apr 14 17:07:39 2021 +0900

    modlib: Implement sh_addralign handling

    I've seen a module with 16 bytes .rodata alignment for xmm operations.
    It was getting SEGV on sim/Linux because of the alignment issue.
    The same module binary seems working fine after applying this patch.

    Also, tested on sim/macOS and esp32 on qemu,
    using a module with an artificially large alignment. (64 bytes)
```

```
commit 418e11b8b3
Author: YAMAMOTO Takashi <yamamoto@midokura.com>
Date:   Thu Apr 15 11:33:48 2021 +0900

    modlib: Always use separate allocation for text and data

    Pros:

    * Reduce code differences
    * Smaller allocations for !CONFIG_ARCH_USE_MODULE_TEXT

    Cons:

    * Likely to use more memory for !CONFIG_ARCH_USE_MODULE_TEXT in total

    Tested with:

    * sim:module on macOS
    * esp32-devkit:nsh + CONFIG_MODULE on qemu
    * lm3s6965-ek:qemu-protected + CONFIG_EXAMPLES_SOTEST on qemu
```
2022-01-28 16:23:23 +08:00
..
libelf binfmt/libelf: Implement sh_addralign handling 2022-01-28 16:23:23 +08:00
libnxflat net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code 2022-01-18 10:59:47 +01:00
Kconfig Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
Makefile binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
binfmt.h binfmt: Move argv copy into exec_module 2021-06-02 15:20:38 +09:00
binfmt_copyargv.c binfmt: Move argv copy into exec_module 2021-06-02 15:20:38 +09:00
binfmt_coredump.c binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
binfmt_dumpmodule.c binfmt: Remove filename/exports/nexports from binary_s 2021-06-02 15:20:38 +09:00
binfmt_exec.c Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
binfmt_execmodule.c binfmt: Handle argv/argv[0] == NULL correctly in exec_module 2021-06-15 13:55:01 -06:00
binfmt_execsymtab.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_exit.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_globals.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_initialize.c Don't include debug.h from public header file 2021-06-01 06:42:02 +09:00
binfmt_loadmodule.c Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
binfmt_register.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_unloadmodule.c binfmt: Replace all nx_ API with file_ API 2021-07-06 11:18:13 +09:00
binfmt_unregister.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
builtin.c binfmt: remove file_ioctl and get filename by strrchr 2021-09-13 08:56:10 +08:00
elf.c binfmt/libelf: Implement sh_addralign handling 2022-01-28 16:23:23 +08:00
nxflat.c binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00