From patchwork Fri Nov 4 09:12:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 15429 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp267734wru; Fri, 4 Nov 2022 02:13:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4wGsjzfBUnfHGCyEONbwoeXs+Y4ExfEhpb20F/N7jCwmhNRtWLQO/HvNg7pj9ywpuR9x9i X-Received: by 2002:a17:906:9b83:b0:730:b3ae:343 with SMTP id dd3-20020a1709069b8300b00730b3ae0343mr34504592ejc.670.1667553224442; Fri, 04 Nov 2022 02:13:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667553224; cv=none; d=google.com; s=arc-20160816; b=qvtr52kFned8YmEnjfdB1OFDl5Xm7YC+jPacjFyKRkCL1DeSSCvpp2j4dDsQGBpZ8j QdTYN7L1zhzXfz46fMdIUEf2NSuED03XcQikXUn+aAD+8+Q3oF+pzgsqsr6jN92B+Q8o BeG980Bbon9EQN43B8AKgoiQ0M+kQ4xB7oCVBxc2w+pmQKEhvQ494a9/P+jaFOOUDTdX Rab+wd/Qr/dc8s/To2aJ5df7LackM+VsM6XbfQUF+VplsXQcLYw1RpNh7RiNaCpPephS l2DYnln5OYprFoGhe16yRsiKO1oDHhIQ7E1b6ME0kueGG/yaFjJkGszZ4KIfE9ktXOTM x/kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version:message-id:date :user-agent:references:in-reply-to:subject:to:from:ironport-sdr :dmarc-filter:delivered-to; bh=+lGTagrx1bwR8UfdO9gN2xYGgXm6QHKwR2NDzycWbjA=; b=ceVWpGDLCb/NyEk2T2b10QKvSWRg2WpHfDxteGbxLcfjREPAZsgsAc8w/PzTPM8tlx xi0t6mzDCTmuXE/TUATlOFnJvTzJYi0YR9oFQsblCGd5OcwSx1opD/nl6ve9JH8a+ukF Nj73tyGfxK2Wp/LkhLefwl3XYL0xVijvKCEqrn4HWZrlOFM9TAh4mlXVABqLw4nJ8dks /aLpKc5sEUBj10CQFYLMkZJyqc95SvFOm5txeqwrj0BStWs+kU9Maeb8kBkafGGUGly1 Ba77skLcmJnEOTPG9CztdZCWaMVEO1+DaC2NHW8wP72ZLsfW+syGBqZYY/VLIUwr6dH6 8lYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id w19-20020a05640234d300b0046455e9e62csi3582035edc.29.2022.11.04.02.13.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Nov 2022 02:13:44 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6A6A638582B2 for ; Fri, 4 Nov 2022 09:13:31 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 986FB385842B for ; Fri, 4 Nov 2022 09:12:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 986FB385842B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,137,1665475200"; d="scan'208,223";a="88960612" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 04 Nov 2022 01:12:57 -0800 IronPort-SDR: y0cMuHMNgz8MHBTtu4noCbOU0ZY6RKcemhM2LP97dz9BiNnvROPGZ3q7LK6hcMeprWfAWsIlhk S4LVX8YSagB7dOAjR9ApNz/v7iL8RUdeuQHKce/avd5hihd1RLgEkJp50g/8oM4BwSd317yBOd eG5kB+L3IluJjWIRnfJ23hu8XK8rhNnb7vmkrK3K8fXsTinhDa7suMKzqYyDKkXnJYPcUptXoX Cl8RafGvQ6WPkNiO+/5KM0Ku36FCiwNIfvN7xje9chw7PIDILXmXSuzR1ip+5degPYDAtvaYHy i9E= From: Thomas Schwinge To: Tom de Vries , Richard Biener , Subject: Better integrate default 'sorry' 'TARGET_ASM_CONSTRUCTOR', 'TARGET_ASM_DESTRUCTOR' (was: Restore default 'sorry' 'TARGET_ASM_CONSTRUCTOR', 'TARGET_ASM_DESTRUCTOR') In-Reply-To: References: <10a94ccc-e01b-b98a-0fcb-cd661c10c315@suse.cz> <87fsfviww8.fsf@euler.schwinge.homeip.net> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/27.1 (x86_64-pc-linux-gnu) Date: Fri, 4 Nov 2022 10:12:24 +0100 Message-ID: <87pme32idj.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748556290017049939?= X-GMAIL-MSGID: =?utf-8?q?1748556290017049939?= Hi! On 2022-10-11T08:40:02+0200, Richard Biener via Gcc-patches wrote: > On Mon, Oct 10, 2022 at 4:23 PM Tom de Vries wrote: >> FWIW, nvptx change looks in the obvious category to me. I hadn't put you on CC for approval of the one-line '#include' change, but rather to inform you about the GCC/nvptx breakage generally. ;-) > Can you rename the functions as default_asm_out_* and instead of > reviving dbxout.cc > put them into targhooks.cc? ACK. Pushed to master branch commit a05d8e1d15ea08526639ba154e59b6822b704f4c "Better integrate default 'sorry' 'TARGET_ASM_CONSTRUCTOR', 'TARGET_ASM_DESTRUCTOR'", see attached. With that, the actual 'diff' is simply: gcc/target-def.h | 4 ++++ gcc/targhooks.cc | 20 ++++++++++++++++++++ gcc/targhooks.h | 2 ++ 3 files changed, 26 insertions(+) diff --git gcc/target-def.h gcc/target-def.h index f81f8fe3bb3..5e5cc3b767e 100644 --- gcc/target-def.h +++ gcc/target-def.h @@ -62,6 +62,8 @@ # else # ifdef TARGET_ASM_NAMED_SECTION # define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor +# else +# define TARGET_ASM_CONSTRUCTOR default_asm_out_constructor # endif # endif #endif @@ -72,6 +74,8 @@ # else # ifdef TARGET_ASM_NAMED_SECTION # define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor +# else +# define TARGET_ASM_DESTRUCTOR default_asm_out_destructor # endif # endif #endif diff --git gcc/targhooks.cc gcc/targhooks.cc index d17d393baed..12a58456b39 100644 --- gcc/targhooks.cc +++ gcc/targhooks.cc @@ -1405,6 +1405,26 @@ default_generate_pic_addr_diff_vec (void) return flag_pic; } +/* Record an element in the table of global constructors. SYMBOL is + a SYMBOL_REF of the function to be called; PRIORITY is a number + between 0 and MAX_INIT_PRIORITY. */ + +void +default_asm_out_constructor (rtx symbol ATTRIBUTE_UNUSED, + int priority ATTRIBUTE_UNUSED) +{ + sorry ("global constructors not supported on this target"); +} + +/* Likewise for global destructors. */ + +void +default_asm_out_destructor (rtx symbol ATTRIBUTE_UNUSED, + int priority ATTRIBUTE_UNUSED) +{ + sorry ("global destructors not supported on this target"); +} + /* By default, do no modification. */ tree default_mangle_decl_assembler_name (tree decl ATTRIBUTE_UNUSED, tree id) diff --git gcc/targhooks.h gcc/targhooks.h index ecce55ebe79..a6a423c1abb 100644 --- gcc/targhooks.h +++ gcc/targhooks.h @@ -178,6 +178,8 @@ extern void default_target_option_override (void); extern void hook_void_bitmap (bitmap); extern int default_reloc_rw_mask (void); extern bool default_generate_pic_addr_diff_vec (void); +extern void default_asm_out_constructor (rtx, int); +extern void default_asm_out_destructor (rtx, int); extern tree default_mangle_decl_assembler_name (tree, tree); extern tree default_emutls_var_fields (tree, tree *); extern tree default_emutls_var_init (tree, tree, tree); Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 From a05d8e1d15ea08526639ba154e59b6822b704f4c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 3 Nov 2022 17:29:13 +0100 Subject: [PATCH] Better integrate default 'sorry' 'TARGET_ASM_CONSTRUCTOR', 'TARGET_ASM_DESTRUCTOR' ... after commit 4ee35c11fd328728c12f3e086ae016ca94624bf8 "Restore default 'sorry' 'TARGET_ASM_CONSTRUCTOR', 'TARGET_ASM_DESTRUCTOR'". No functional change. gcc/ * Makefile.in (OBJS): Remove 'dbxout.o'. * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'. * dbxout.cc: Remove. * dbxout.h: Likewise. * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Default to 'default_asm_out_constructor', 'default_asm_out_destructor'. * targhooks.cc (default_asm_out_constructor) (default_asm_out_destructor): New. * targhooks.h (default_asm_out_constructor) (default_asm_out_destructor): Declare. --- gcc/Makefile.in | 1 - gcc/config/nvptx/nvptx.cc | 1 - gcc/dbxout.cc | 43 --------------------------------------- gcc/dbxout.h | 25 ----------------------- gcc/target-def.h | 4 ++-- gcc/targhooks.cc | 20 ++++++++++++++++++ gcc/targhooks.h | 2 ++ 7 files changed, 24 insertions(+), 72 deletions(-) delete mode 100644 gcc/dbxout.cc delete mode 100644 gcc/dbxout.h diff --git a/gcc/Makefile.in b/gcc/Makefile.in index c4072d06a936..f672e6ea5498 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1355,7 +1355,6 @@ OBJS = \ data-streamer.o \ data-streamer-in.o \ data-streamer-out.o \ - dbxout.o \ dbgcnt.o \ dce.o \ ddg.o \ diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc index 4cb5d02d40cd..2fe120b38730 100644 --- a/gcc/config/nvptx/nvptx.cc +++ b/gcc/config/nvptx/nvptx.cc @@ -52,7 +52,6 @@ #include "tm-preds.h" #include "tm-constrs.h" #include "langhooks.h" -#include "dbxout.h" #include "cfgrtl.h" #include "gimple.h" #include "stor-layout.h" diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc deleted file mode 100644 index 161eeb196537..000000000000 --- a/gcc/dbxout.cc +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1987-2022 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#include "config.h" -#include "system.h" -#include "coretypes.h" -#include "diagnostic-core.h" -#include "dbxout.h" - -/* Record an element in the table of global destructors. SYMBOL is - a SYMBOL_REF of the function to be called; PRIORITY is a number - between 0 and MAX_INIT_PRIORITY. */ - -void -default_stabs_asm_out_destructor (rtx symbol ATTRIBUTE_UNUSED, - int priority ATTRIBUTE_UNUSED) -{ - sorry ("global destructors not supported on this target"); -} - -/* Likewise for global constructors. */ - -void -default_stabs_asm_out_constructor (rtx symbol ATTRIBUTE_UNUSED, - int priority ATTRIBUTE_UNUSED) -{ - sorry ("global constructors not supported on this target"); -} diff --git a/gcc/dbxout.h b/gcc/dbxout.h deleted file mode 100644 index ad0b538cabf1..000000000000 --- a/gcc/dbxout.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1998-2022 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DBXOUT_H -#define GCC_DBXOUT_H - -extern void default_stabs_asm_out_destructor (rtx, int); -extern void default_stabs_asm_out_constructor (rtx, int); - -#endif /* GCC_DBXOUT_H */ diff --git a/gcc/target-def.h b/gcc/target-def.h index 1c4aa2963dc4..5e5cc3b767e1 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -63,7 +63,7 @@ # ifdef TARGET_ASM_NAMED_SECTION # define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor # else -# define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor +# define TARGET_ASM_CONSTRUCTOR default_asm_out_constructor # endif # endif #endif @@ -75,7 +75,7 @@ # ifdef TARGET_ASM_NAMED_SECTION # define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor # else -# define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor +# define TARGET_ASM_DESTRUCTOR default_asm_out_destructor # endif # endif #endif diff --git a/gcc/targhooks.cc b/gcc/targhooks.cc index d17d393baedc..12a58456b399 100644 --- a/gcc/targhooks.cc +++ b/gcc/targhooks.cc @@ -1405,6 +1405,26 @@ default_generate_pic_addr_diff_vec (void) return flag_pic; } +/* Record an element in the table of global constructors. SYMBOL is + a SYMBOL_REF of the function to be called; PRIORITY is a number + between 0 and MAX_INIT_PRIORITY. */ + +void +default_asm_out_constructor (rtx symbol ATTRIBUTE_UNUSED, + int priority ATTRIBUTE_UNUSED) +{ + sorry ("global constructors not supported on this target"); +} + +/* Likewise for global destructors. */ + +void +default_asm_out_destructor (rtx symbol ATTRIBUTE_UNUSED, + int priority ATTRIBUTE_UNUSED) +{ + sorry ("global destructors not supported on this target"); +} + /* By default, do no modification. */ tree default_mangle_decl_assembler_name (tree decl ATTRIBUTE_UNUSED, tree id) diff --git a/gcc/targhooks.h b/gcc/targhooks.h index ecce55ebe797..a6a423c1abb4 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -178,6 +178,8 @@ extern void default_target_option_override (void); extern void hook_void_bitmap (bitmap); extern int default_reloc_rw_mask (void); extern bool default_generate_pic_addr_diff_vec (void); +extern void default_asm_out_constructor (rtx, int); +extern void default_asm_out_destructor (rtx, int); extern tree default_mangle_decl_assembler_name (tree, tree); extern tree default_emutls_var_fields (tree, tree *); extern tree default_emutls_var_init (tree, tree, tree); -- 2.35.1