This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Symbol versioning question..
- From: Marcus Shawcroft <marcus dot shawcroft at linaro dot org>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 19 Jul 2013 12:25:53 +0100
- Subject: Symbol versioning question..
Hi,
Support for mcount and _mcount in the AArch64 port were added post
2.17, the associated changes to gcc are on gcc-patches but have not
yet been committed.
The glibc patch was here:
http://sourceware.org/ml/libc-ports/2013-05/msg00087.html
This patch didn't adjust libc.abilist or any Versions file.
Since glibc 2.17 does not have these functions for aarch64 but 2.18
will I'm trying to figure out how to get a 2.18 version on these
symbols. I've initially tried adding the following fragment to
sysdeps/aarch64/Versions
libc {
GLIBC_2.18 {
mcount; _mcount;
}
}
and the following to sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
GLIBC_2.18
GLIBC_2.18 A
_mcount F
mcount F
However, objdump tells me that:
00000000000c81cc g DF .text 000000000000018c GLIBC_2.17 _mcount
00000000000c81cc w DF .text 000000000000018c GLIBC_2.17 mcount
Looking in the generated libc.map file I note that both mcount and
_mcount appear both in the GLIBC_2.18 section but also in the
preceding GLIBC_2.17 presumably because they have been picked up from
stdlib/Versions and gmon/Versions.
Before I dig further into this I'd like some advise. Is forcing the
versions of these two symbols to 2.18 the right solution or is the
real issue here that 2.17 is broken because this interface was missing
and the proper solution is actually to just back port the
mcount/_mcount patch?
Thanks
/Marcus