[RFD] How legal is it to delete dynamic tags?

Matthew Fortune Matthew.Fortune@imgtec.com
Fri Apr 15 15:08:00 GMT 2016


I have a bug report from Debian showing that the DT_MIPS_RLD_MAP_REL
tag (introduced on MIPS to support shared library debug with PIE)
can be corrupted by a program called chrpath.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818909#43

chrpath is designed to alter or remove DT_RPATH entries. Removal is
a problem when such an entry precedes DT_MIPS_RLD_MAP_REL as the
relative offset stored in DT_MIPS_RLD_MAP_REL then points to the
wrong address.

Firstly, to what extent is it OK to just delete a dynamic tag rather
than set it to DT_NULL?

Secondly was it a bad decision to create a slot-relative dynamic
tag? I.e. If I were to fix chrpath to know that DT_MIPS_RLD_MAP_REL
needs updating... are there likely to be more utilities out there
that fiddle with dynamic tags in this way?

Thanks for any insight you can offer.

Matthew



More information about the Binutils mailing list