From patchwork Thu Dec 14 19:50:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Oliva X-Patchwork-Id: 178887 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8806660dys; Thu, 14 Dec 2023 11:51:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IGLA2sMsE9FSbTwbghOg37/VEw4MIJVMEH19Nwn/gd9sAVa89qA5RuAgxD3ruzIw7J1tL8G X-Received: by 2002:a05:6214:d68:b0:67f:96b:7385 with SMTP id 8-20020a0562140d6800b0067f096b7385mr1883633qvs.130.1702583489748; Thu, 14 Dec 2023 11:51:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1702583489; cv=pass; d=google.com; s=arc-20160816; b=Wx4wYBpxmVrZMazxQzUQsCVabNkFEyftRTJz6jbLjKBRxWGJWgPnb11kLoZfEVzLDn ar5Lxs8Fgq3juxJ0yo0p67Ef7NOvqoAXvp8fJgxe5hizDFIo/PpuxFIzJpP6TsxbuKQP ukPx50A6oK7oQ7dtOw9OWdHODb7Cqbo1IIvTnwevVoFIsA26PmEsSkEHPcwWeqZTT0X4 GHZwL7Sd3zIqTl02NzQ2CMguAInMGOR3VcB7C206CJWK13Usnsisqe6AIqVUqHK5dFqm dauIPx05mBX3U9KDooEtMMeNNA2W+b8NzvAfGGqGk4EdKHl7boWcrHkfUKw5VQkSp5R7 i+EA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version:user-agent :message-id:date:organization:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=U3LELnmEUqhjebKHtEb5gtvzxt1Jz/gVW5JskEwr1hY=; fh=MbZUhjciD7z04FFPkX75sCx7/g4zGRiq14oxCBYC/fE=; b=hiDyUEbz9SusPf6epnmHxdU/h5TUuAXLx0LX7aEye3skja2iZlmXEaBthJbHuOptBT A0vpCOa5cLxZfLPZPsnQJmkVVnVAfwKcAjMKfCWGeCSfPVQOaYulY9FT+sJ5OViIFdBR APjnnQ1dXRjVNy+tC0dmHhnojI0ZpeFa9iAICGvOHT1+34PJR66iI4YyAiNw5PMdEyvO D2lX85IF0qvQu3UjwXVinDNMVsShPTYpeF6apS8eixb4SFIYjeDZ8hXEWzBnHqzIWWpg wCgxQswbvakGwvWgWYHFmwWsQwYQ4yXOTlJsY/XCju2LKTFbbnvXPYmr9uFsnOaj73gF DcYA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@adacore.com header.s=google header.b=IGAb2E+E; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=adacore.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id z17-20020a0cf011000000b0067a1d3d8b52si1470539qvk.568.2023.12.14.11.51.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 11:51:29 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@adacore.com header.s=google header.b=IGAb2E+E; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=adacore.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 64CFC38618BA for ; Thu, 14 Dec 2023 19:51:29 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by sourceware.org (Postfix) with ESMTPS id A35633858D20 for ; Thu, 14 Dec 2023 19:51:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A35633858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A35633858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1034 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702583467; cv=none; b=V5cgFhDFBaBEmtqWIg8xn8IgkbiQ9ck8iwKRMn+P8pENVUeX4s7G0SwtGoaEAoF9PGJclckIh5bPBsqZ+13e+/tFiROYYzggPesKMDCr4yVIE/finVZ78WpfqcDzdcCiG7FtknNQf+LHy4fDtYae+ecg9eMdaoBtmms4CrDvBFY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702583467; c=relaxed/simple; bh=cfBka/ocQ4OsHA6Kuz7J9Ih14AjjIYrLQaAWglufmaw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HpWDPHFwUTs4pZAFWfBJv9vwII8iQX9OUzRrAbGEJKg7Hl+Amym2QNWHPFCWPhOnhTpWHPohxC3K3C2liTphMPNrqcMhaB8SN7cRuasGWx9ri8+3daYh9xHfrBRMwpVetnYx/umYnlDw2lUEJeMP954zifYkQQbr8BpduU3hmS0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-286b45c5a8dso8851772a91.1 for ; Thu, 14 Dec 2023 11:51:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1702583461; x=1703188261; darn=gcc.gnu.org; h=mime-version:user-agent:message-id:date:organization:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=U3LELnmEUqhjebKHtEb5gtvzxt1Jz/gVW5JskEwr1hY=; b=IGAb2E+E/wyMQXYb5nfn8f/ufFgO2LSdCo+TzS7L6+ghZrZJrKY4UNh1/k+VUV5Ob5 PPWL9GIjKuUwOn7llC8Zvaa27ioM5AjiKg0uq1h2ByOfcqbFyvL/x3jmx2yQBslL8cY2 ivK2z/kMnuTbnOjtzswsiEONfQFGVi5ZXXBLFuYy2UbWBQGK06HZdgxVFEHocL1Am8Xv xTYU1VxlbSGZp2yfLN80m46xj7L8l5cJJPImu26kzjPxqEZ+Y38XoDCd9dcP3VoYpsd7 gy6caliFTHG+ui36M/81ezrrbKJrid3OyUdvt7vXJx0Ztzam4wwbkwetncTYgD3yMMuU j4VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702583461; x=1703188261; h=mime-version:user-agent:message-id:date:organization:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U3LELnmEUqhjebKHtEb5gtvzxt1Jz/gVW5JskEwr1hY=; b=X6EofevNJfDsf9DIe6Bej8lcAHdaNK7QJ1cvPG8CwE/LKZer3YxX/c9Q5gnmcXLw9G QNQruzBkhmPn/PR4BgqOI5G2ol7qNzxpPbNlYOuqW7H+Dc7Dj8TQkpJBkG8moha1+EQ4 KRoKlVqKiMvruDlsnLvh5J+OEOuStPfvqgB8x/0csOW5/auP+sRnpblNaU7uG6rH1cbu KTtWeTggYrfXxjzA1qMVqXPgivSF6LYpZBbkbF+8EiJ9yhDiUAmKaj+KZZACHWKwYiyZ fWAUmkxQhJYRtmHPThiZrNdul+qtvVK4Dxif9ekqhq998DHqblquS0Yk/CKrlXlrvIvQ hanQ== X-Gm-Message-State: AOJu0YwVtKhtDXSfJi6VK6qJK0kOCmK/JfERoGA1D1pE61gbt4K9S+dh iv0KXQuMa9RcG/+0dNFuQe4jmyyEyQFQ7SjKo5CHGQ== X-Received: by 2002:a17:90b:17ca:b0:28a:f90e:4960 with SMTP id me10-20020a17090b17ca00b0028af90e4960mr2073079pjb.33.1702583461616; Thu, 14 Dec 2023 11:51:01 -0800 (PST) Received: from free.home ([2804:7f1:2080:cecc:5977:530e:86b5:e7be]) by smtp.gmail.com with ESMTPSA id sk13-20020a17090b2dcd00b002864c14063fsm13684408pjb.20.2023.12.14.11.51.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 11:51:00 -0800 (PST) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 3BEJonND488691 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 14 Dec 2023 16:50:50 -0300 From: Alexandre Oliva To: gcc-patches@gcc.gnu.org Cc: Marek Polacek Subject: [PATCH] hardened: use LD_PIE_SPEC only if defined Organization: Free thinker, does not speak for AdaCore Date: Thu, 14 Dec 2023 16:50:49 -0300 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, WEIRD_QUOTING 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.30 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785288185371566492 X-GMAIL-MSGID: 1785288185371566492 sol2.h may define LINK_PIE_SPEC and leave LD_PIE_SPEC undefined, but gcc.cc will only provide a LD_PIE_SPEC definition if LINK_PIE_SPEC is not defined, and then it uses LD_PIE_SPEC guarded by #ifdef HAVE_LD_PIE only. Add LD_PIE_SPEC to the guard. Regstrapped on x86_64-linux-gnu; also testing on sparc-solaris2.11.3, where I hit the problem and couldn't build a baseline to compare with. Ok to install? gcc/ChangeLog * gcc.cc (process_command): Use LD_PIE_SPEC only if defined. --- gcc/gcc.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/gcc.cc b/gcc/gcc.cc index 701f5cdfb59c8..d5e02c11cb05d 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -5008,7 +5008,7 @@ process_command (unsigned int decoded_options_count, { if (!any_link_options_p && !static_p) { -#ifdef HAVE_LD_PIE +#if defined HAVE_LD_PIE && defined LD_PIE_SPEC save_switch (LD_PIE_SPEC, 0, NULL, /*validated=*/true, /*known=*/false); #endif /* These are passed straight down to collect2 so we have to break