From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1039) id 8C3663858401; Mon, 1 Jan 2024 13:24:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C3663858401 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1704115448; bh=OM7pVrR/IV/fSalMXYEZ/vJ9EPskUEIGIhPuleqnKrE=; h=From:To:Subject:Date:From; b=Q7611ZvjFuF2F8DlrvmlxDZCkBkeIraBIgtrQxumhqJk0EIti8+ntaSvf0TDDiuj2 t4kn4tAYvtUm6hrrX+yGZfbasMSVcgf9Yad5UpOpFN7W5C8oysjC9AcOE4tdeQe04F XUWPnBfi/yafH/HL7yGK3zEd5iECZnFj/6ksoUC8= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: H.J. Lu To: glibc-cvs@sourceware.org Subject: [glibc] elf: Always provide _dl_get_dl_main_map in libc.a X-Act-Checkin: glibc X-Git-Author: H.J. Lu X-Git-Refname: refs/heads/master X-Git-Oldrev: edb5e0c8f915a798629717b5680a852c8bb3db25 X-Git-Newrev: 8d9f9c44605d1b4e3152bdd3f8f0daebd790380f Message-Id: <20240101132408.8C3663858401@sourceware.org> Date: Mon, 1 Jan 2024 13:24:07 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8d9f9c44605d1b4e3152bdd3f8f0daebd790380f commit 8d9f9c44605d1b4e3152bdd3f8f0daebd790380f Author: H.J. Lu Date: Fri Dec 29 08:43:50 2023 -0800 elf: Always provide _dl_get_dl_main_map in libc.a Always provide _dl_get_dl_main_map in libc.a. It will be used by x86 to process PT_GNU_PROPERTY segment. Diff: --- elf/dl-support.c | 2 -- sysdeps/generic/ldsodefs.h | 7 +++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/elf/dl-support.c b/elf/dl-support.c index 837fa1c836..70c5b3599a 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -344,7 +344,6 @@ _dl_non_dynamic_init (void) DL_SYSINFO_IMPLEMENTATION #endif -#if ENABLE_STATIC_PIE /* Since relocation to hidden _dl_main_map causes relocation overflow on aarch64, a function is used to get the address of _dl_main_map. */ @@ -353,7 +352,6 @@ _dl_get_dl_main_map (void) { return &_dl_main_map; } -#endif /* This is used by _dl_runtime_profile, not used on static code. */ void diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 9b50ddd09f..bbf51bc1f5 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -1172,10 +1172,6 @@ void __libc_setup_tls (void); # if ENABLE_STATIC_PIE /* Relocate static executable with PIE. */ extern void _dl_relocate_static_pie (void) attribute_hidden; - -/* Get a pointer to _dl_main_map. */ -extern struct link_map * _dl_get_dl_main_map (void) - __attribute__ ((visibility ("hidden"))); # else # define _dl_relocate_static_pie() # endif @@ -1217,6 +1213,9 @@ rtld_hidden_proto (_dl_deallocate_tls) extern void _dl_nothread_init_static_tls (struct link_map *) attribute_hidden; +/* Get a pointer to _dl_main_map. */ +extern struct link_map * _dl_get_dl_main_map (void) attribute_hidden; + /* Find origin of the executable. */ extern const char *_dl_get_origin (void) attribute_hidden;