Date: Wed, 26 Sep 2018 17:04:55 +0200 From: Andreas Longwitz <longwitz@incore.de> To: Konstantin Belousov <kostikbel@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: Constraints in libmap(32).conf do not work as expected, possible bug in rtld-elf Message-ID: <5BABA017.9090509@incore.de> In-Reply-To: <20180925155417.GA5335@kib.kiev.ua> References: <5B89C1E7.4090002@incore.de> <20180902120603.GI2340@kib.kiev.ua> <5B9829FE.10700@incore.de> <20180921134833.GU3161@kib.kiev.ua> <5BA95F34.9070300@incore.de> <20180925155417.GA5335@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
>> I like to mention one thing concerning the source libmap.c. With the >> patch (yours or mine) and the libmap32.conf given above I see the >> following lmp_list when lm_fini() is called: >> >> lm_fini("1, $DEFAULT$" lml-Adresse 0x2826c208) >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib/mysql, t=/usr/local/lib32/mysql") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=libcrypto.so.8, t=libcrypto.so.6") >> lm_fini("f=libssl.so.8, t=libssl.so.6") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> lm_fini("1, libc-client4.so.9" lml-Adresse 0x2826c168) >> lm_fini("f=libcrypto.so.8, t=libcrypto.so.6") >> lm_fini("f=libssl.so.8, t=libssl.so.6") >> lm_fini("2, /usr/local/php52/" lml-Adresse 0x2826c068) >> lm_fini("f=/usr/local/lib/mysql, t=/usr/local/lib32/mysql") >> lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> >> So for $DEFAULTS we have a lot of identical entries. This comes from the >> TAILQ_INSERT_HEAD statement in lm_add(). I am not sure if this can be >> accepted or a check to avoid double entries in the list is better. > Yes, this is mostly cosmetics. It is not clear is it better to avoid > duplicates and pay the cost at insertion, or leave them and pay at the > list traversal. I think there is slight preference to avoid dups, but > this should be not measureable. With your patch for libmap.c the output in lm_fini() now looks fine: lm_fini("1, $DEFAULT$" lml-Adresse 0x2826c208) lm_fini("f=/usr/local/lib/mysql, t=/usr/local/lib32/mysql") lm_fini("f=libcrypto.so.8, t=libcrypto.so.6") lm_fini("f=libssl.so.8, t=libssl.so.6") lm_fini("f=/usr/local/lib, t=/usr/local/lib32") lm_fini("1, libc-client4.so.9" lml-Adresse 0x2826c168) lm_fini("f=libcrypto.so.8, t=libcrypto.so.6") lm_fini("f=libssl.so.8, t=libssl.so.6") lm_fini("2, /usr/local/php52/" lml-Adresse 0x2826c068) lm_fini("f=/usr/local/lib/mysql, t=/usr/local/lib32/mysql") lm_fini("f=/usr/local/lib, t=/usr/local/lib32") >> One annotation to the script /etc/rc.d/ldconfig: I had expected that >> this script during boot creates clean files ld-elf(32).so.hints in >> /var/run. For 64 bit this is true, but for 32 bit not because ldconfig >> with flag -32 also has flag -m. Is this intended behaviour ? > > This seems to be from the beginning when ldconfig_local32 was > introduced in r154114. Ok Andreas Longwitz
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5BABA017.9090509>