NetBSD Problem Report #45015

From www@NetBSD.org  Thu Jun  2 15:28:13 2011
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id B625663C6D0
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  2 Jun 2011 15:28:13 +0000 (UTC)
Message-Id: <20110602152812.D8BC663BF19@www.NetBSD.org>
Date: Thu,  2 Jun 2011 15:28:12 +0000 (UTC)
From: nonakap@gmail.com
Reply-To: nonakap@gmail.com
To: gnats-bugs@NetBSD.org
Subject: ld.elf_so: support ELF symbol versioning.
X-Send-Pr-Version: www-1.0

>Number:         45015
>Category:       bin
>Synopsis:       ld.elf_so: support ELF symbol versioning.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    nonaka
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 02 15:30:00 +0000 2011
>Closed-Date:    Sat Jun 25 05:57:41 +0000 2011
>Last-Modified:  Sat Jun 25 05:57:41 +0000 2011
>Originator:     NONAKA Kimihiro
>Release:        5.99.22
>Organization:
>Environment:
NetBSD koharu.myhome.local 5.99.52 NetBSD 5.99.52 (TPX201) #1596: Thu Jun  2 23:41:35 JST 2011  root@koharu.myhome.local:/usr/obj.i386/sys/arch/i386/compile/TPX201 i386
>Description:
Currently NetBSD's ld.elf_so does not support ELF symbol versioning.
I ported it from FreeBSD rtld-elf.

>How-To-Repeat:
Currently NetBSD's ld.elf_so does not support ELF symbol versioning.

>Fix:
Please apply the patch.
ftp://ftp.netbsd.org/pub/NetBSD/misc/nonaka/misc/20110602-nbsd-ld.elf_so-symbol-versioning.diff

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: bin-bug-people->nonaka
Responsible-Changed-By: joerg@NetBSD.org
Responsible-Changed-When: Mon, 06 Jun 2011 15:08:30 +0000
Responsible-Changed-Why:
Assign to developer responsible for committing his own patch.
Tested and found working.


From: "NONAKA Kimihiro" <nonaka@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45015 CVS commit: src
Date: Sat, 25 Jun 2011 05:45:15 +0000

 Module Name:	src
 Committed By:	nonaka
 Date:		Sat Jun 25 05:45:14 UTC 2011

 Modified Files:
 	src/distrib/sets/lists/comp: mi
 	src/distrib/sets/lists/tests: mi shl.mi
 	src/etc/mtree: NetBSD.dist.tests
 	src/include: dlfcn.h
 	src/lib/libc/dlfcn: dlfcn_elf.c
 	src/libexec/ld.elf_so: Makefile headers.c reloc.c rtld.c rtld.h
 	    symbol.c
 	src/share/man/man3: Makefile dlfcn.3
 	src/sys/sys: exec_elf.h
 	src/tests/libexec/ld.elf_so: Makefile
 Added Files:
 	src/libexec/ld.elf_so: symver.c
 	src/tests/libexec/ld.elf_so: h_dl_symver.c t_dl_symver.sh t_dlvsym.c
 	src/tests/libexec/ld.elf_so/data: Makefile
 	    symver-output-ref-stderr.v0-v0 symver-output-ref-stderr.v0-v1
 	    symver-output-ref-stderr.v0-v2 symver-output-ref-stderr.v1-v0
 	    symver-output-ref-stderr.v1-v1 symver-output-ref-stderr.v1-v2
 	    symver-output-ref-stderr.v2-v0 symver-output-ref-stderr.v2-v1
 	    symver-output-ref-stderr.v2-v2 symver-output-ref-stdout.v0-v0
 	    symver-output-ref-stdout.v0-v1 symver-output-ref-stdout.v0-v2
 	    symver-output-ref-stdout.v1-v0 symver-output-ref-stdout.v1-v1
 	    symver-output-ref-stdout.v1-v2 symver-output-ref-stdout.v2-v0
 	    symver-output-ref-stdout.v2-v1 symver-output-ref-stdout.v2-v2
 	src/tests/libexec/ld.elf_so/helper_symver_dso0: Makefile
 	    h_helper_symver_dso0.c
 	src/tests/libexec/ld.elf_so/helper_symver_dso1: Makefile
 	    h_helper_symver_dso1.c h_helper_symver_dso1.map
 	src/tests/libexec/ld.elf_so/helper_symver_dso2: Makefile
 	    h_helper_symver_dso2.c h_helper_symver_dso2.map

 Log Message:
 PR/45015: ld.elf_so: support ELF symbol versioning
 Applied latest patch.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1630 -r1.1631 src/distrib/sets/lists/comp/mi
 cvs rdiff -u -r1.354 -r1.355 src/distrib/sets/lists/tests/mi
 cvs rdiff -u -r1.5 -r1.6 src/distrib/sets/lists/tests/shl.mi
 cvs rdiff -u -r1.49 -r1.50 src/etc/mtree/NetBSD.dist.tests
 cvs rdiff -u -r1.22 -r1.23 src/include/dlfcn.h
 cvs rdiff -u -r1.9 -r1.10 src/lib/libc/dlfcn/dlfcn_elf.c
 cvs rdiff -u -r1.107 -r1.108 src/libexec/ld.elf_so/Makefile
 cvs rdiff -u -r1.40 -r1.41 src/libexec/ld.elf_so/headers.c
 cvs rdiff -u -r1.103 -r1.104 src/libexec/ld.elf_so/reloc.c
 cvs rdiff -u -r1.150 -r1.151 src/libexec/ld.elf_so/rtld.c
 cvs rdiff -u -r1.105 -r1.106 src/libexec/ld.elf_so/rtld.h
 cvs rdiff -u -r1.56 -r1.57 src/libexec/ld.elf_so/symbol.c
 cvs rdiff -u -r0 -r1.1 src/libexec/ld.elf_so/symver.c
 cvs rdiff -u -r1.76 -r1.77 src/share/man/man3/Makefile
 cvs rdiff -u -r1.31 -r1.32 src/share/man/man3/dlfcn.3
 cvs rdiff -u -r1.112 -r1.113 src/sys/sys/exec_elf.h
 cvs rdiff -u -r1.4 -r1.5 src/tests/libexec/ld.elf_so/Makefile
 cvs rdiff -u -r0 -r1.1 src/tests/libexec/ld.elf_so/h_dl_symver.c \
     src/tests/libexec/ld.elf_so/t_dl_symver.sh \
     src/tests/libexec/ld.elf_so/t_dlvsym.c
 cvs rdiff -u -r0 -r1.1 src/tests/libexec/ld.elf_so/data/Makefile \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v0-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v0-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v0-v2 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v1-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v1-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v1-v2 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v2-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v2-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stderr.v2-v2 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v0-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v0-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v0-v2 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v1-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v1-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v1-v2 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v2-v0 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v2-v1 \
     src/tests/libexec/ld.elf_so/data/symver-output-ref-stdout.v2-v2
 cvs rdiff -u -r0 -r1.1 \
     src/tests/libexec/ld.elf_so/helper_symver_dso0/Makefile \
     src/tests/libexec/ld.elf_so/helper_symver_dso0/h_helper_symver_dso0.c
 cvs rdiff -u -r0 -r1.1 \
     src/tests/libexec/ld.elf_so/helper_symver_dso1/Makefile \
     src/tests/libexec/ld.elf_so/helper_symver_dso1/h_helper_symver_dso1.c \
     src/tests/libexec/ld.elf_so/helper_symver_dso1/h_helper_symver_dso1.map
 cvs rdiff -u -r0 -r1.1 \
     src/tests/libexec/ld.elf_so/helper_symver_dso2/Makefile \
     src/tests/libexec/ld.elf_so/helper_symver_dso2/h_helper_symver_dso2.c \
     src/tests/libexec/ld.elf_so/helper_symver_dso2/h_helper_symver_dso2.map

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: nonaka@NetBSD.org
State-Changed-When: Sat, 25 Jun 2011 05:57:41 +0000
State-Changed-Why:
Applied latest patch.

http://ftp.netbsd.org/pub/NetBSD/misc/nonaka/ld.elf_so/20110623-nbsd-ld.elf_so-symbol-versioning.diff


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.