From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) by sourceware.org (Postfix) with ESMTPS id BD4823858D20 for ; Mon, 29 Jan 2024 13:04:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BD4823858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BD4823858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::b32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706533473; cv=none; b=oED98SLm6Zkz6kiAO1bvJlKrWOrTm+r6Yk0PxRQJmn+bi/q4ZsKYiRZdIfVDSa6t1KDUS5OorGVQlX7E5FQmRBKU8wVrXAxvVXazYmm4wfVS6HrL/klqI0PmPvnlzjvYxTpH9lOZREX5gKsWZyvCnohNe4X+D3sJ8ViYT9vBJ5Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706533473; c=relaxed/simple; bh=W6vinFYThrdHiTH9S2+uyV+yrjQdYVuTNqKuDChHi1w=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=vF8nTPxEwM2HTuJnhjkjiTgM2PJLruOCa4+H5DVkFcIctXQ06eaikPa/b0qfVB1WGFRP+nbFvNlPNvcdpXDRgCbFzQQTggCy/S/5AftCH1MTDoOhuRB4jDbT/of6MUicZcX7Kz89wINSnjq8VXstVYULtGUsmvmJg5k3+uA09Q8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb32.google.com with SMTP id 3f1490d57ef6-dbed0710c74so2867205276.1 for ; Mon, 29 Jan 2024 05:04:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706533471; x=1707138271; darn=sourceware.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=QxVXw9kJbNQtcWM34Qm8oRPsVUlWlOS/c+RZLiv7Z5Q=; b=GvrbShbW/3J5iZEHf7sV6VWr2TeFp2jVE5FSIXzYep+pdAMbeUY3gSSqTFhutN7blI VcUPJBmKlyTZMWp/LnN1IuKlzJ1AspJ2aTD/w7DaShOph0WEvf3bdoah7gnfsRRcq20f XgusPwuSs8Xm3V/TyRmP6xXy1W3mzjgG8MUwwcXG1yUdmEqW/UC2gYxQh2Fs+TO094fp rkCoLodbjfknZMu56VkbAxmOfjQCtYA1AaAC+k3Hns+WvZ11KARBaFWWSVPWmtdGTlhT GvQL5LCqCEZNgsyHrBIrB7sIFqKU01/2cAhHW7VPUEcnrjrWfb93fU91hWllDFBe4lyB WzbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706533471; x=1707138271; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QxVXw9kJbNQtcWM34Qm8oRPsVUlWlOS/c+RZLiv7Z5Q=; b=I0OOjJiXTZK0GkV7kM94XbeSlOHpTNUdB5QZ/UyuD+5F8F0NYbmiAksA/i8sNMgmPA 9t6CaFZeqskfT7/FneJpIcit2iEdR6hbqELwVPdxHlyQ+uHBPJic787kA0zE4x1QYecF i6/C7wmjrLJ7yA+rXY6vQsW+FbS+hnQympKRFXv+FIRYCTIyuQ5DFUM5jQKt88z7vN/6 kKY3WuqMP37xC7I132DNw5a7g9DUUAn7sn0s50RsnBKAwwf9kcvBZHRskeXUowfdg9ua JVJgV/y4JiPtciH9fcmK5VDhQilDlA3e9XemLBpPG+cMhYRr9KOVOi0xK2t1J/w2DKBS FPFQ== X-Gm-Message-State: AOJu0YypJolZxvA1ZUGNHhTcDxdBtiJ27EsiX+uxxb6csxTiHbLPPVo5 8BC3NZ2H0UKmOb0+E6A2Wx80d502kOo7jTo2BBsX9RXxAto+e6Sc3qPGukyUwmkQ5aH0slkg4g/ Aeq5eTuikQL2e1lifbRUS0hlYd+mAixeAIus= X-Google-Smtp-Source: AGHT+IFimIY8bSep3R6AUYcba/bfxp68nIYHYMBUgVSrYZGNc+5EhmFdqf0ZFLVVa8EMXMAaXz7pUyfNCkVCV24Jkzo= X-Received: by 2002:a05:6902:1b8e:b0:dc6:4eaf:d0d1 with SMTP id ei14-20020a0569021b8e00b00dc64eafd0d1mr4870229ybb.80.1706533471121; Mon, 29 Jan 2024 05:04:31 -0800 (PST) MIME-Version: 1.0 References: <20240126214553.46536-1-hjl.tools@gmail.com> <29c60b5a-8594-4c4d-b97d-f1d96761a27e@suse.com> In-Reply-To: <29c60b5a-8594-4c4d-b97d-f1d96761a27e@suse.com> From: "H.J. Lu" Date: Mon, 29 Jan 2024 05:03:55 -0800 Message-ID: Subject: Re: [PATCH v2] ld: Turn on --error-execstack/--error-rwx-segments To: Jan Beulich Cc: binutils@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3014.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Sun, Jan 28, 2024 at 11:30=E2=80=AFPM Jan Beulich wr= ote: > > On 26.01.2024 22:45, H.J. Lu wrote: > > --- a/ld/lexsup.c > > +++ b/ld/lexsup.c > > @@ -1947,6 +1947,17 @@ parse_args (unsigned argc, char **argv) > > && command_line.check_section_addresses < 0) > > command_line.check_section_addresses =3D 0; > > > > + /* Override --no-error-execstack and --no-warn-execstack and turn on > > + --error-execstack for --warn-execstack and --error-rwx-segments f= or > > + --warn-rwx-segments if --fatal-warnings is used. */ > > + if (config.fatal_warnings) > > + { > > + if (link_info.warn_execstack) > > + link_info.error_execstack =3D 1; > > + if (!link_info.no_warn_rwx_segments) > > + link_info.warn_is_error_for_rwx_segments =3D 1; > > + } > > + > > if (export_list) > > { > > struct bfd_elf_version_expr *head =3D export_list->head.list; > > If I'm not mistaken and if the comment is properly describing things, > this placement of the addition means --no-* last on the command line > wouldn't be honored anymore, when later arguments ought to override > earlier ones. > Before my change, we got [hjl@gnu-cfl-3 ld]$ touch x.s [hjl@gnu-cfl-3 ld]$ gcc -c x.s [hjl@gnu-cfl-3 ld]$ ld -shared -z stack-size=3D0x123400 --fatal-warnings --warn-execstack --no-error-execstack x.o ld: warning: x.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker [hjl@gnu-cfl-3 ld]$ echo $? 1 The warning is misleading since --fatal-warnings IS position independent and is always fatal for ANY warning. My patch changes it to [hjl@gnu-cfl-3 ld]$ ./ld-new -shared -z stack-size=3D0x123400 --fatal-warnings --warn-execstack --no-error-execstack x.o ./ld-new: error: x.o: is triggering the generation of an executable stack because it does not have a .note.GNU-stack section ./ld-new: failed to set dynamic section sizes: file format not recognized [hjl@gnu-cfl-3 ld]$ Any other comments to my patch? Thanks. --=20 H.J.