From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 93105 invoked by alias); 27 Jan 2020 22:01:23 -0000 Mailing-List: contact gcc-cvs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-cvs-owner@gcc.gnu.org Received: (qmail 93080 invoked by uid 9119); 27 Jan 2020 22:01:22 -0000 Date: Mon, 27 Jan 2020 22:01:00 -0000 Message-ID: <20200127220122.93079.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Joseph Myers To: gcc-cvs@gcc.gnu.org Subject: [gcc r10-6268] Support gnu_unique_object symbols on MIPS. X-Act-Checkin: gcc X-Git-Author: Joseph Myers X-Git-Refname: refs/heads/master X-Git-Oldrev: 2f195832a12ff4fb54d723f32019d4175db1b5da X-Git-Newrev: 15d552394e1cb94598eef278ff3d9e9876097b33 X-SW-Source: 2020-01/txt/msg04419.txt.bz2 https://gcc.gnu.org/g:15d552394e1cb94598eef278ff3d9e9876097b33 commit r10-6268-g15d552394e1cb94598eef278ff3d9e9876097b33 Author: Joseph Myers Date: Mon Jan 27 22:00:52 2020 +0000 Support gnu_unique_object symbols on MIPS. mips_declare_object_name is missing the support for declaring symbols as gnu_unique_object that is present in the generic ASM_DECLARE_OBJECT_NAME in elfos.h. I'm not aware of any MIPS-specific reason for that support to be absent; mips_declare_object_name predates the addition of gnu_unique_object support and as far as I can tell this was simply an oversight when that support was added. This patch adds the missing support, following the code in elfos.h. Tested with no regressions with cross to mips-linux-gnu. In particular, this fixes the failure of the recently-added glibc test elf/tst-dlopen-nodelete-reloc, which relies on the compiler generating such symbols, for MIPS. * config/mips/mips.c (mips_declare_object_name) [USE_GNU_UNIQUE_OBJECT]: Support use of gnu_unique_object. Diff: --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b3624b1..af0945f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2020-01-27 Joseph Myers + + * config/mips/mips.c (mips_declare_object_name) + [USE_GNU_UNIQUE_OBJECT]: Support use of gnu_unique_object. + 2020-01-27 Martin Liska PR gcov-profile/93403 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index dae189e..513fc5f 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -9775,7 +9775,14 @@ mips_declare_object_name (FILE *stream, const char *name, tree decl ATTRIBUTE_UNUSED) { #ifdef ASM_OUTPUT_TYPE_DIRECTIVE - ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "object"); +#ifdef USE_GNU_UNIQUE_OBJECT + /* As in elfos.h. */ + if (USE_GNU_UNIQUE_OBJECT && DECL_ONE_ONLY (decl) + && (!DECL_ARTIFICIAL (decl) || !TREE_READONLY (decl))) + ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "gnu_unique_object"); + else +#endif + ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "object"); #endif size_directive_output = 0;