On Mon, 24 Feb 2020, Lukasz Majewski wrote: > I'm probably not aware of something - but as done in the following > patch: > > https://github.com/lmajewski/y2038_glibc/commit/c96eeb73175961c4ac80fdd3b6adc132805387c9 > > I do need to remove librt_hidden_proto / librt_hidden_def to have > proper symbols visible when I do want to use redirections. You'll need to explain the actual problem you see, because lib<name>_hidden_proto / lib<name>_hidden_def are correct for any symbol that satisfies both of the following properties: (a) it is exported from shared lib<name> (whether at a public symbol version or version GLIBC_PRIVATE) and (b) it is also used within the library that defines it. They are useless but harmless for other symbols. lib<name>_hidden_proto / lib<name>_hidden_def always need to be used together, and always need to have <name> matching the name of the shared library with the symbol. In C code, lib<name>_hidden_proto causes the function, for both definition and calls, to be redirected to an internal, hidden-visibility alias, while lib<name>_hidden_def then adds back the exported name as a non-hidden alias to cause it to be exported from the shared library in question. It's true that the redirection from lib<name>_hidden_proto doesn't work when there is another redirection for the same symbol in effect, but that should not be a concern here (there should be no reason to have an asm redirection from __mq_timedreceive_time64 to another name, for example). -- Joseph S. Myers joseph@xxxxxxxxxxxxxxxx _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc