Date: Thu, 28 Nov 2019 14:48:27 +0100 From: Peter Blok <pblok@bsd4all.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: dynamic loadable library multiple degined symbols Message-ID: <58EC7517-CFE7-442F-9A9B-00849E32BCA4@bsd4all.org> In-Reply-To: <20191128131211.GQ10580@kib.kiev.ua> References: <BEA0011D-0981-4FF7-8035-3D26C94FDD36@bsd4all.org> <20191128131211.GQ10580@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_373C4CF8-B65C-41D2-AF20-6B293E9FE8BA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I=E2=80=99m trying to change this because named dies with an assert. = named checks the arguments of dns_name_equal which is completely = different from the one intended out of the shared module. > On 28 Nov 2019, at 14:12, Konstantin Belousov <kostikbel@gmail.com> = wrote: >=20 > On Thu, Nov 28, 2019 at 01:50:15PM +0100, Peter Blok wrote: >> Hi, >>=20 >> named (bind9.14) has a function called dns_name_equal. = (0000000000443ac0 T dns_name_equal) >>=20 >> named dynamically loads dlz_bind9_14.so is build from dlz_bind9.c = and calls this function, but dns_name_equal was undefined so it got = resolved to the version of named. >>=20 >> The function is defined in dns_utils.c, so I changed the building to = include that file. >>=20 >> Now dlz_bind9_14.so is using dlz_bind9.c and dns_utils.c also has the = right dns_name_equal (000000000000bee0 T dns_name_equal) defined >>=20 >> Unfortunately the code inside dlz_bind9_14.so still calls the = function out of named. >>=20 >> Is this something that should have been resolved at compile/link time = of dlz_bind9_14.so? If so, how? > No, default ELF name resolution rules would give the behaviour you = described, > assuming the main binary was linked with -Wl,-E (and it must be to = export > symbols to loadable modules). The shared libraries and loadable = modules > are interposable by default, unless linked with -B symbolic, and the = symbol > resolution order starts from the main binary object. >=20 > Why do you try to change this ? >=20 >>=20 >> Note that the samba build uses waf and wscript files. >>=20 >> Peter >>=20 >>=20 >=20 >=20 --Apple-Mail=_373C4CF8-B65C-41D2-AF20-6B293E9FE8BA Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCBSAw ggUcMIIEBKADAgECAhEAq2wFIs+rCK6H6/2jbblXhDANBgkqhkiG9w0BAQsFADCBlzELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1dGhl bnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EwHhcNMTgwNDE0MDAwMDAwWhcNMjEwNDEzMjM1 OTU5WjBEMQswCQYDVQQGEwJOTDETMBEGA1UEAxMKUGV0ZXIgQmxvazEgMB4GCSqGSIb3DQEJARYR cGJsb2tAYnNkNGFsbC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPT/3evs2a zLSIVepGa9qFVcSISd5HzoJt9xAyQ4od7NM6Qzwm446OyhzWsIN/a6+nDNB4AxzSg00QXKx4afEa FrdLzmREEfv24f88j2UZYqHAls0j26jyED5FZ068xs4gWZBG2U7EVTUNNJuUrrmqBNZkGxTIrFrD Cgr1EpRULpN+HrEelHHh7uR0twAjvwcyXkG9DbDJXnw8HzKGR80ik4+13HDxx4mDxOY4NOvWSSiM kEFS2Z2AKtxXSMBQZHazAUvbka27c1m93/QsjnDF+P6Aef9NEvUDL9mU9Jbf/+5V+anT2KdPGP4p rQ9gA/Nup61qxDkwc+RupiXD5NSbAgMBAAGjggGzMIIBrzAfBgNVHSMEGDAWgBSCr2yM+MX+lmF8 6B89K3FIXsSLwDAdBgNVHQ4EFgQUjwe7n1zvxFkTeCUYWrsaJpOGP14wDgYDVR0PAQH/BAQDAgWg MAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEYGA1UdIAQ/MD0w OwYMKwYBBAGyMQECAQMFMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQv Q1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUNs aWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYsGCCsGAQUFBwEBBH8wfTBV BggrBgEFBQcwAoZJaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xpZW50QXV0aGVu dGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29t b2RvY2EuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQC85hVlqTVwt218IJR/WjMiMnDtZ7hY860XKjzO uB3sUUQwHxHj+ZYuMbAfVLZGGqh1EekbwDMVgkK9cezIHM+ZzxrNGX2SJyl1YW+3FLn52P0uIlmA VPFjUowf5qBhOHl2NJo+WXYZhQY7rT/xSygE81o3oLE/A4zO6WtO3PeZpFpZNrBvizAsjTDfPeXW iQzXz6NLrgwert0Wml95ov2rG5oCzHYPijabubSNm2NdUjPRtcVylcqAThXOvp6X4UvW8/L0uhkp 9WsKP2JEJ3Zukv7Ib+vMBsdE4tf4rmv89pQC+lLpD08ze/QDCIeFBCRIihcC2PycDQrnNIp1RAIh MYIDyjCCA8YCAQEwga0wgZcxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0 ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMT0wOwYDVQQD EzRDT01PRE8gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA q2wFIs+rCK6H6/2jbblXhDANBglghkgBZQMEAgEFAKCCAe0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3 DQEHATAcBgkqhkiG9w0BCQUxDxcNMTkxMTI4MTM0ODI3WjAvBgkqhkiG9w0BCQQxIgQgZtk+4otn BRsOhvnPl4CGM22TsoWKAIZ6+QKru4B8i+owgb4GCSsGAQQBgjcQBDGBsDCBrTCBlzELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1dGhl bnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEQCrbAUiz6sIrofr/aNtuVeEMIHABgsqhkiG 9w0BCRACCzGBsKCBrTCBlzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3Rl cjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMT NENPTU9ETyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEQCr bAUiz6sIrofr/aNtuVeEMA0GCSqGSIb3DQEBAQUABIIBAHs9RWySFRuBuz59l0egPswBp60NP6Jt W4EB3ocfJqxmHed+LBoR4eXQIdTFm9izgT41XfbsMUB0wFqznXdnIJwT+1HGsolMYLVod9WU6bm/ YvztC1i3LSVJ1H4uv0w8Thm6VT9Px56+2sGg0LJXPpNHxZl4mMMzu6LiX9b5gE+3Jhf0hRitLywb da4R1X9ZorA6LZRnDcaDAcgH9UwY5kUbK0INiqwlS8ONJwlXm8epv8uqfdvIYt741/8G9ruSW8aa UtMGX/noPQ1TFnooJkqRz/hwpGhopfxr8r8/Dl8M2ZISykjYvcFI0TiPCcRDu4mlSzcLpHZwa1v1 qdz9bvMAAAAAAAA= --Apple-Mail=_373C4CF8-B65C-41D2-AF20-6B293E9FE8BA--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?58EC7517-CFE7-442F-9A9B-00849E32BCA4>
