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 | if (ret) | 3877 | if (ret) |
| 3878 | goto lib_parse_error; | 3878 | goto lib_parse_error; |
| 3879 | } else { | 3879 | } else { |
| 3880 | /* TODO: Implement AS_NEEDED support. Ignore it for now */ | 3880 | /* TODO: Implement AS_NEEDED support. */ |
| 3881 | if (!as_needed) { | 3881 | /* DT_NEEDED is not used any more so ignore as_needed */ |
| 3882 | if (1 || !as_needed) { | ||
| 3882 | ret = ld_add_file(s1, filename); | 3883 | ret = ld_add_file(s1, filename); |
| 3883 | if (ret) | 3884 | if (ret) |
| 3884 | goto lib_parse_error; | 3885 | goto lib_parse_error; |