[Bug 772] dladdr() behavior is ambiguous
| Newsgroups | gmane.linux.lsb.specification |
|---|---|
| Message-ID | <[email protected]> |
------- Additional Comments From [email protected] 2005-03-22 09:48 ------- The behavior of dladdr() has appearantly changed on ia64 recently. The symbol version does not appear to have be bumped to reflect this change. The change can be seen here: http://savannah.gnu.org/cgi-bin/viewcvs/libc/libc/elf/dl-addr.c.diff?r1=1.23&r2=1.24&diff_format=l This change seems to only affect ia64 which implementes DL_SYMBOL_ADDR differently. The pointer to the fptr is now being returned instead of the address of the functionentry point. The testprogram which is attached produces this output for SLES9 w/libstdc++.so.6 added, and Debian Sarge: stu1 found at 0x200000000003c0f0 &stu1 found at 0x200000000003c0f0 stup found at 0x200000000003c0f0 dlinfo_dli.fname ./studl.so dlinfo_dli.fbase 0x2000000000040000 dlinfo_dli.sname stu1 dlinfo_dli.saddr 0x2000000000040400 dlinfo_dli.fname ./studl.so dlinfo_dli.fbase 0x2000000000040000 dlinfo_dli.sname stu1 dlinfo_dli.saddr 0x2000000000040400 Note that the value of stup != dlinfo.dli_saddr On RHEL4 the output is: stu1 found at 0x200000000003ebc0 &stu1 found at 0x200000000003ebc0 stup found at 0x200000000003ebc0 dlinfo_dli.fname ./studl.so dlinfo_dli.fbase 0x2000000000044000 dlinfo_dli.sname stu1 dlinfo_dli.saddr 0x200000000003ebc0 dlinfo_dli.fname ./studl.so dlinfo_dli.fbase 0x2000000000044000 dlinfo_dli.sname stu1 dlinfo_dli.saddr 0x200000000003ebc0 Note that stup == dlinfo.dli_saddr -- Configure bugmail: http://bugs.linuxbase.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.