JianyuWang0623 opened a new pull request, #2581:
URL: https://github.com/apache/nuttx-apps/pull/2581
## Summary
- Exclude symbols that dynamic modules in bin/ call each other. -
be3a91e87d4b60a296ed372bf2293a55f0447dcf (by @anjiahao1 )
- Bugfix: Add check for sed expression. -
1973f15aca063e555562be325a812f035f3ad96a
- Support adding additional symbols that are not in undefined list. -
b4d995f916ede75f6a95d30d5389ecae6c8ec1a6
- For apps to be built in the future, the required symbols may not be
included in the symbol table, and you will need to rebuild the NuttX kernel to
run it.
- With this patch, you can add symbols may be used in the future
manually to the symbol table.
- Extended usage: - e3844a1b43182e6fa6343f8f74bcc4da2e11cbaa
- The lines start with "," make no effects(as comments)
- Support symbol name overriding
- See commit message for more details.
## Impact
Build scripts that using mksymtab.sh to generate symbol tables.
## Testing
- b4d995f916ede75f6a95d30d5389ecae6c8ec1a6
```
$ nm ./hello_world.o | grep " U "
U __aeabi_unwind_cpp_pr1
U chreGetTime
U chreGetVersion
U chreLog
U __stack_chk_fail
U __stack_chk_guard
$ cat additional.txt -n
1 test_symbol
2 test_symbol
$ /PATH/TO/APPS/tools/mksymtab.sh ./hello_world.o MY_PREFIX -a additional.txt
#include <nuttx/compiler.h>
#include <nuttx/symtab.h>
extern void *__aeabi_unwind_cpp_pr1;
extern void *__stack_chk_fail;
extern void *__stack_chk_guard;
extern void *chreGetTime;
extern void *chreGetVersion;
extern void *chreLog;
extern void *test_symbol;
const struct symtab_s MY_PREFIX_exports[] =
{
{"__aeabi_unwind_cpp_pr1", &__aeabi_unwind_cpp_pr1},
{"__stack_chk_fail", &__stack_chk_fail},
{"__stack_chk_guard", &__stack_chk_guard},
{"chreGetTime", &chreGetTime},
{"chreGetVersion", &chreGetVersion},
{"chreLog", &chreLog},
{"test_symbol", &test_symbol},
};
const int MY_PREFIX_nexports = sizeof(MY_PREFIX_exports) / sizeof(struct
symtab_s);
```
- e3844a1b43182e6fa6343f8f74bcc4da2e11cbaa
```
$ cat exports.txt | grep atan2
atan2Override,atan2
$ /PATH/TO/APPS/tools/mksymtab.sh FOO BAR exports.txt | grep atan2
extern void *atan2Override;
{"atan2", &atan2Override},
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]