git: libc: Complete conversion to _getprogname from __progname
John Marino
marino at crater.dragonflybsd.org
Wed Sep 9 02:56:05 PDT 2015
commit 482bded760722f83973b9509cb8b04d594a81ec7
Author: John Marino <draco at marino.st>
Date: Wed Sep 9 11:54:17 2015 +0200
libc: Complete conversion to _getprogname from __progname
The initial work to eliminate direct use of __progname was done years ago,
but two items were missed: an extern keyword and libc_r conversion. As a
result, the symbol was classified as an object. Before commit (R4.2):
> readelf -a /lib/libc.so.8 | grep __progname
00000032ac80 077600000006 R_X86_64_GLOB_DAT 00000000003506d0 __progname+0
1910: 00000000003506d0 8 OBJECT GLOBAL DEFAULT 24 __progname
537: 00000000003506d0 8 OBJECT GLOBAL DEFAULT 24 __progname
After commit:
> readelf -a /lib/libc.so.8 | grep __progname
0000003309c0 000400000006 R_X86_64_GLOB_DAT 0000000000000000 __progname+0
4: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __progname
545: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __progname
The issue was reveal with libc symbol version testing, which also revealed
the "environ" symbol has a similar issue. The change matches how the
FreeBSD analog works.
Summary of changes:
lib/libc/include/libc_private.h | 2 +-
lib/libc_r/uthread/uthread_spinlock.c | 13 ++++++++-----
2 files changed, 9 insertions(+), 6 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/482bded760722f83973b9509cb8b04d594a81ec7
--
DragonFly BSD source repository
More information about the Commits
mailing list