From patchwork Fri Nov 9 08:59:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maya Rashish X-Patchwork-Id: 995393 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-489478-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sdf.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="FWK/yCff"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42rvHg4sQTz9sCQ for ; Fri, 9 Nov 2018 20:00:13 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=Mc4y9JQhUr8h8l1TnfXtz9kpcWqLvg0mPKa7K8bdDbb4nFpbBRr8U 4rY+P+B8HX3L4/xyB+9MyHOQkZqw59gKomeGqO2PF+70aEupVoub4HLi5n/N18l7 N+pm1QGSi4C6VeXIETYfOP+XXkttzBYlElzoDeyWz/JjmDYIUsSVIY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=x7iIAXJ1w7mcHVTWwaRIcJ0R4gQ=; b=FWK/yCff3wbHLHhfydYY D0eTte2tTQtGrmFV0Nqy9YQTIunpUja8DKpwozdgc5iXN3Y2RYM5iq5J3HtYv5oZ SOpcZLqvL3JDZtNqx0majyP5mgngHR/3G4hNvxMb66aSgyUjqWbVdDx/yG9oq5z2 Ztd0QPsVhoI6ARU8VRhSXB4= Received: (qmail 1815 invoked by alias); 9 Nov 2018 09:00:04 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 1710 invoked by uid 89); 9 Nov 2018 09:00:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=H*r:8.14.5 X-HELO: mx.sdf.org Received: from mx.sdf.org (HELO mx.sdf.org) (205.166.94.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 09 Nov 2018 09:00:00 +0000 Received: from sdf.org (IDENT:coypu@sdf.lonestar.org [205.166.94.16]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id wA98xi2w017905 (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits) verified NO) for ; Fri, 9 Nov 2018 08:59:44 GMT Received: (from coypu@localhost) by sdf.org (8.15.2/8.12.8/Submit) id wA98xi2u018407 for gcc-patches@gcc.gnu.org; Fri, 9 Nov 2018 08:59:44 GMT Date: Fri, 9 Nov 2018 08:59:44 +0000 From: coypu@sdf.org To: gcc-patches@gcc.gnu.org Subject: [PATCH] Fix PIE on netbsd (PR target/87221) Message-ID: <20181109085943.GA3056@SDF.ORG> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.9.1 (2017-09-22) Re-sending because my patch doesn't seem to appear on the archive This matches to what netbsd is doing with its own copy of GCC, it can be simpler. PR target/87221: config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): use crtbeginS.o for PIE (NETBSD_ENDFILE_SPEC): use crtendS.o for PIE --- gcc/config/netbsd-elf.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/config/netbsd-elf.h b/gcc/config/netbsd-elf.h index 4dc2aa757..26e5d996e 100644 --- a/gcc/config/netbsd-elf.h +++ b/gcc/config/netbsd-elf.h @@ -40,8 +40,11 @@ along with GCC; see the file COPYING3. If not see %{!p:crt0%O%s}}} \ %:if-exists(crti%O%s) \ %{static:%:if-exists-else(crtbeginT%O%s crtbegin%O%s)} \ - %{!static: \ - %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}}" + %{!static: \ + %{!shared: \ + %{!pie:crtbegin%O%s} \ + %{pie:crtbeginS%O%s}} \ + %{shared:crtbeginS%O%s}}" #undef STARTFILE_SPEC #define STARTFILE_SPEC NETBSD_STARTFILE_SPEC @@ -52,7 +55,10 @@ along with GCC; see the file COPYING3. If not see C++ file-scope static objects deconstructed after exiting "main". */ #define NETBSD_ENDFILE_SPEC \ - "%{!shared:crtend%O%s} %{shared:crtendS%O%s} \ + "%{!shared: \ + %{!pie:crtend%O%s} \ + %{pie:crtendS%O%s}} \ + %{shared:crtendS%O%s} \ %:if-exists(crtn%O%s)" #undef ENDFILE_SPEC