This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]