summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherman ten brugge <hermantenbrugge@home.nl>2023-11-08 19:58:26 +0100
committerherman ten brugge <hermantenbrugge@home.nl>2023-11-08 19:58:26 +0100
commitded713e90dde1eba60a9c9156e4c00a734039142 (patch)
treee0fed9fc1a191e1bf0e7ab282b76b979c787bc82
parent0f29dbcfd5925f49501e8fb90509fd95a1bddb8c (diff)
Ignore as_needed in ld_add_file_list
After the change to DT_NEEDED I get warnings for some functions. The reason is that libc.so on my machine contains: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) Before the change to DT_NEEDED we solved the symbols because the /lib64/libc.so.6 file has as DT_NEEDED set for ld-linux-x86-64.so.2 The above AS_NEEDED section was not followed so symbols in this file gives a warning. Currently fixed by including AS_NEEDED files.
-rw-r--r--tccelf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tccelf.c b/tccelf.c
index 0110152..abcfb10 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -3877,8 +3877,9 @@ static int ld_add_file_list(TCCState *s1, const char *cmd, int as_needed)
if (ret)
goto lib_parse_error;
} else {
- /* TODO: Implement AS_NEEDED support. Ignore it for now */
- if (!as_needed) {
+ /* TODO: Implement AS_NEEDED support. */
+ /* DT_NEEDED is not used any more so ignore as_needed */
+ if (1 || !as_needed) {
ret = ld_add_file(s1, filename);
if (ret)
goto lib_parse_error;