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.
Unified · Split
| @@ -3877,8 +3877,9 @@ static int ld_add_file_list(TCCState *s1, const char *cmd, int as_needed) · 3876 unmodified lines | ||
| 3877 | 3877 | if (ret) |
| 3878 | 3878 | goto lib_parse_error; |
| 3879 | 3879 | } else { |
| 3880 | − /* TODO: Implement AS_NEEDED support. Ignore it for now */ | |
| 3881 | − if (!as_needed) { | |
| 3880 | + /* TODO: Implement AS_NEEDED support. */ | |
| 3881 | + /* DT_NEEDED is not used any more so ignore as_needed */ | |
| 3882 | + if (1 || !as_needed) { | |
| 3882 | 3883 | ret = ld_add_file(s1, filename); |
| 3883 | 3884 | if (ret) |
| 3884 | 3885 | goto lib_parse_error; |