Attention is currently required from: laforge.
3 comments:
Patchset:
thanks, it looks reasonably simple in general, which is good. […]
I am also not hapy but we do unfortunately not know the difference between internal functions and exported lib functions so the symbol and function will always exist and can't be removed by the optimizer. The function should in practice not be exported by the lib anyway, it is only used by the vty because there is no proper split, but there is nothing I can do about that... (no, hidden does not help)
A "removed" function with no body looks like this:
❯ gdb -batch -ex 'file libosmocore.so' -ex 'disassemble log_cache_update'
Dump of assembler code for function log_cache_update:
0x00000000000281e6 <+0>: endbr64
0x00000000000281ea <+4>: push %rbp
0x00000000000281eb <+5>: mov %rsp,%rbp
0x00000000000281ee <+8>: mov %edi,-0x4(%rbp)
0x00000000000281f1 <+11>: mov %esi,%ecx
0x00000000000281f3 <+13>: mov %edx,%eax
0x00000000000281f5 <+15>: mov %ecx,%edx
0x00000000000281f7 <+17>: mov %dl,-0x8(%rbp)
0x00000000000281fa <+20>: mov %al,-0xc(%rbp)
0x00000000000281fd <+23>: nop
0x00000000000281fe <+24>: pop %rbp
0x00000000000281ff <+25>: ret
End of assembler dump.
Quite a lot of code for "nothing", and not really something I'd like to have for actual embedded targets...
File src/logging.c:
Patch Set #5, Line 1037: log_update_cache
this is not guarded by !EMBEDDED, unlike other invocations?
got lost, since i'm unable to build "embedded" libosmocore.
you just checked it is != NULL above, so that should be a NOP?
d
To view, visit change 30633. To unsubscribe, or for help writing mail filters, visit settings.