I have an already compiled / linked DSO file, that exports few functions that indeed must be hidden. When I try to link my code against that library - it picks up those unneeded symbols instead of my own ones. I have no access to the source code, so I can not rebuild binary and use proper visibility attributes for unneeded stuff.
I see the only one solution here - change visibility of unneeded symbols form GLOBAL to HIDDEN directly in binary. The obvious tool for such change would be objcopy, but the problem is that objcopy has no option to modify dynamic symbol tables, it can cope only with regular ones.
So does anyone know which tool would allow me to change visibility for symbols in dynamic symbol table?