Xiang Xiao
cb8df39207
binfmt/elf: Fix the minor style issue
...
and remove the unused macros and unnecessary cast
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-27 18:46:40 -03:00
Xiang Xiao
879dab08a6
binfmt: Move elf_allocbuffer to elf_sectname and elf_symname
...
it's better to allocate the buffer just before really use it.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-16 14:17:07 +03:00
Xiang Xiao
8f38fa6062
symtab: Remove the unnessary inclusion of nuttx/symtab.h
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-06 09:24:02 -03:00
Ville Juven
7c003162a6
libelf/libelf_symbols.c: Fix compilation warning about void* arithmetics
...
Fixes minor issue with a trace (build failure with -Werror):
libelf/libelf_symbols.c:310:41: error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
310 | (uintptr_t)(sym->st_value + symbol->sym_value));
2022-09-28 20:35:31 +08:00
Byron Ellacott
c9db653c8d
symtabs: improve handling of symbol lookups
...
When CONFIG_SYMTAB_ORDEREDBYNAME is selected most code will use
the ordered search function. When it is not selected no code will
use the ordered search function. This change merges the two
functions and varies its behaviour based on the config setting,
such that all callers can simply call the one search function
and get the best behaviour.
An additional configuration option allows leading underscores to
be stripped from symbols being relocated in loaded objects. This
allows toolchains which prefix C symbol with underscores to make
loadable ELF objects.
2021-03-16 10:18:17 -07:00
Alin Jerpelea
f9fb182809
Author: Gregory Nutt: update licenses to Apache
...
Update files from Gregory Nutt to Apache 2.0 license.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-05 12:15:56 -03:00
YAMAMOTO Takashi
d068713738
binfmt/libelf/libelf_symbols.c: Fix syslog formats
2020-11-21 19:38:32 -08:00
Alin Jerpelea
7ddf7c6c25
binfmt: nxstyle fixes
...
small nxstyle fixes for binfmt to avoid CI warnings
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2020-04-22 14:07:04 -06:00
YAMAMOTO Takashi
bb09d564db
libelf: Don't truncate 64-bit values
2020-03-27 00:04:36 -05:00
YAMAMOTO Takashi
8ad9d1e0b4
libelf: Appease nxstyle complaints
...
Also, fix a minor typo.
2020-03-26 02:51:34 -05:00
Masayuki Ishikawa
81f1133174
ELF64 support ( #220 )
...
* include: Introduce elf64.h and elf.h
Added elf64.h for 64bit ELF support and moved common definitions
from elf32.h to elf.h. Also introduced Elf_xxx to be used in
common libraries such as binfmt.
* binfmt, include, modlib, module: Add support for ELF64
Elf_xxx must be used instead of Elf32_xxx to support ELF64.
To use ELF64, CONFIG_ELF_64BIT must be enabled.
* binfmt, modlib: Add support for relocate address
* arch: risc-v: Add include/elf.h
* libs: machine: Add risc-v related files.
NOTE: Currently only supports ELF64
* boards: maix-bit: Add elf and posix_spawn configurations
* boards: maix-bit: Add support for module configuration
2020-02-07 17:10:23 -06:00
Gregory Nutt
dd5748cee8
binfmt/: Update copyright dates in all modified files.
2020-01-11 13:44:58 -03:00
Gregory Nutt
7a72d1e8ca
binfmt/: Run all .c files under binfmt/ through tools/nxstyle and fix all resulting complaints.
2020-01-11 13:44:58 -03:00
Xiang Xiao
0edcd6b85e
binfmt/libelf, libs/libc/modlib: Optimize elf load speed: (1) Don't zero out memory, (2) Reduce the initial buffer size to 32 bytes.
2019-01-26 11:34:40 -06:00
Xiang Xiao
095e28d45e
binfmt/, binfmt/libelf/, include/nuttx, libs/libc/machine, libs/libc/modlib, and others: Move elf related arch function to include/nuttx/elf.h because the implementation is located in libs/libc/machine and in order to avoid the conflict with the 3rd party libraries and clean up the file inclusion: (1) Remove redundant elf32.h, (2) Remove nuttx/binfmt/elf.h in libs/libc/machine, (2) Remove nuttx/binfmt/elf.h in modlib, and (4) Rmove nuttx/module.h in modlib.
2019-01-26 11:18:45 -06:00
Yasuhiro Osaki
dd2efb909a
binfmt: Fix offset value when calling elf_read() in elf_symname()
...
Jira: PDFW15IS-1650
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-26 14:46:34 +09:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
45eebacbb4
binfmt/: More spacing/alignment fixes
2015-10-08 19:20:17 -06:00
Gregory Nutt
48271cca05
Make some file section headers more consistent with standard
2015-04-08 08:29:03 -06:00
Gregory Nutt
c458e72b70
ELF relocations. Some relocation types do not have a named symbol associated with them. The design did not account for that case
2014-09-09 16:52:51 -06:00
Gregory Nutt
91b002a043
Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced
2014-02-10 18:08:49 -06:00
patacongo
0f70f8c9e1
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
2012-10-29 00:52:23 +00:00
patacongo
14dae62821
Rename elf.h to elf32.h; Additional ELF loader changes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5263 42af7a65-404d-4744-a932-0658087f49c3
2012-10-26 02:42:39 +00:00
patacongo
87e9dbc4c8
Finishes basic coding of ELF file support
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5259 42af7a65-404d-4744-a932-0658087f49c3
2012-10-25 19:21:47 +00:00
patacongo
8b6ea4c174
A little more ELF loader logic
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5257 42af7a65-404d-4744-a932-0658087f49c3
2012-10-25 16:18:20 +00:00