diff options
author | herman ten brugge <hermantenbrugge@home.nl> | 2023-11-08 19:58:26 +0100 |
---|---|---|
committer | herman ten brugge <hermantenbrugge@home.nl> | 2023-11-08 19:58:26 +0100 |
commit | ded713e90dde1eba60a9c9156e4c00a734039142 (patch) | |
tree | e0fed9fc1a191e1bf0e7ab282b76b979c787bc82 | |
parent | 0f29dbcfd5925f49501e8fb90509fd95a1bddb8c (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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; |