From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com [IPv6:2607:f8b0:4864:20::c32]) by sourceware.org (Postfix) with ESMTPS id 33BB9385841E for ; Fri, 26 Jan 2024 21:46:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 33BB9385841E 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 33BB9385841E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::c32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706305574; cv=none; b=Vo1wtawI3sQw2zrJxgvtRDKoXeN0XPhar1oThTHXmkLFN3tLdZJwo1idHeL8dQy9JpVUrLbmZhFk35CsIchjpaPqMHXeeyvvu7PGMDogxf/p2vw3JpBCPsfA+qRWcj5oJDlkjxF94LBUOIXJVlkLiXGrptDtN1F/aVD8tKS+uYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706305574; c=relaxed/simple; bh=cWdk/wim63aMmugirGk4sEtwDOWIiu0tcaOkiDz31Wc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nZYu+UtonhDkUJPOFKqizgoW261CAhOJzdw8zTuIxayR0SNDqrJY7L0SXaipSF/Q9tEwoAB4PQKSQjm8Eo/yugqCNnBBzCrejAO4CCL3QnSeSzJ+NQXoPehvpxd+DNV1Aj0to/wMgff/RMawIRK8TOk0fuJSdusggPn2N3reymY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-59927972125so470862eaf.3 for ; Fri, 26 Jan 2024 13:46:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706305571; x=1706910371; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=sdK34nGZayjJVCMon/BFy5Q7jigQQ5Mqnk0sHaUlhBI=; b=jXaUTQwNNtJk5BLvYhl8GFzed5hr7lFRXI6LKBHrIIdfOTixtu6fhIf4fSOPoTPJAP 3tGSRnOBZIsIf7ztdrQLitSzaGQgvSzvEKRy1z+jVw5opbsw7G4+FbGHIrjfXzbi968n GTeyY4LHRgwjdSQNkIkQLiAMzC7Ljt6PWQAay3/1j8OjB7bOsRlSJDVRz51qtwBmi+FK JoE6LhE/xu0gmC4OV0Re9B4EfcvyOi74LCTFRBzd0kye3SQtU8lM4088Nmt/izf4ZPWl tE3zc5PPdZa1OLQnUV3Cekw6/nMOIpUAremRRh67u7FO3Je7HPZ14C8Eh/y3AbY0AiDJ NJZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706305571; x=1706910371; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sdK34nGZayjJVCMon/BFy5Q7jigQQ5Mqnk0sHaUlhBI=; b=atxZ3mzaONubm4JfigfkXQIydtGwxOsghYX/CfdMcYhjflfqLXS8P2f96U925Y2Jj1 dmJMPpq4wmURyzPXlMMtNoaQ/sfCKZgWxun278yo/y4hZ3S4Wc2EnXTTuja2OK7c2nXI puIiQyvykz/noPHMrLlZkeHayX8/RuKdFRkfMk1NzUa667H6h8gYMgtfUNgdWd6PiTv0 120KYUk7eWqh1ToHTFdqDxhCJtuhbw+v2HWA/Tn9lXwnTVNOOelM05GLY9AnWUF3pN4m w0MiqDMYBbNAB2cPM+POkBcjQfs4t20CjAZsDRbhxCpPALiEDRtksl60uZFxdgSekiC3 I5Rg== X-Gm-Message-State: AOJu0YwY/0UB9Kk3CJ6D+jDnMvF/7MJXzvTqKmpSvFSqIdBMTz7d7Scv Eo0NL1wOvbL4FeoVDj8ZdiUwtLxZ4dO94Cm7Ko1rIa6qqeiVVFN/sZWTSCvv X-Google-Smtp-Source: AGHT+IGltPQcuxjjDZMTBurYKYNwVIWZoXyZIGUh15OD4kRq5QKFGdlHTipVpKBy9NmP/HcM5fjEnA== X-Received: by 2002:a05:6359:459c:b0:176:25ea:ab3 with SMTP id no28-20020a056359459c00b0017625ea0ab3mr342529rwb.51.1706305570973; Fri, 26 Jan 2024 13:46:10 -0800 (PST) Received: from gnu-cfl-3.localdomain ([172.56.169.51]) by smtp.gmail.com with ESMTPSA id p16-20020a63e650000000b005d553239b16sm1557915pgj.20.2024.01.26.13.46.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Jan 2024 13:46:10 -0800 (PST) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 7F1B1740298 for ; Fri, 26 Jan 2024 13:46:09 -0800 (PST) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH v2 0/2] ld: Output error for warnings with --fatal-warnings Date: Fri, 26 Jan 2024 13:46:07 -0800 Message-ID: <20240126214609.46554-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3017.9 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: Changes in v2: 1. Update the expected error in testsuite/ld-elf/fatal-warnings-5.d to allow buffering. 2. Add --no-warn-execstack to testsuite/ld-scripts/defined7.d for targets which check executable stack before checking multiple definition. --- 1. Since --fatal-warnings changes warnings into errors, we should output error, instead of warning, for linker warnings. Add %w to vfinfo to output "warning" if --fatal-warnings isn't used or "error" otherwise. Replace warning with %w in linker warnings. 2. Update _bfd_error_handler to output the warning prefix, which is default to "warning". Add %%w to _bfd_doprnt to output "error", instead of "warning", when --fatal-warnings is used. Update bfd_set_error_handler to allow linker to set the warning prefix to "error" for --fatal-warnings. Call bfd_set_error_handler after parsing all linker command-line arguments so that config.fatal_warnings will be set for --fatal-warnings. H.J. Lu (2): ld: Output error for linker warnings with --fatal-warnings bfd: Output error for linker --fatal-warnings option bfd/archive.c | 2 +- bfd/bfd-in2.h | 3 +- bfd/bfd.c | 34 +++- bfd/binary.c | 2 +- bfd/coff-arm.c | 14 +- bfd/coff-go32.c | 2 +- bfd/coff-mcore.c | 2 +- bfd/coff-sh.c | 14 +- bfd/coff-tic30.c | 2 +- bfd/coff-tic4x.c | 2 +- bfd/coff-tic54x.c | 2 +- bfd/coff-z80.c | 2 +- bfd/coff-z8k.c | 2 +- bfd/coffcode.h | 26 +-- bfd/coffgen.c | 7 +- bfd/cofflink.c | 6 +- bfd/coffswap.h | 2 +- bfd/cpu-arm.c | 2 +- bfd/cpu-m68k.c | 2 +- bfd/ecoff.c | 2 +- bfd/elf-properties.c | 10 +- bfd/elf-s390-common.c | 6 +- bfd/elf.c | 24 +-- bfd/elf32-arc.c | 8 +- bfd/elf32-arm.c | 44 ++--- bfd/elf32-bfin.c | 2 +- bfd/elf32-csky.c | 8 +- bfd/elf32-msp430.c | 2 +- bfd/elf32-nds32.c | 18 +- bfd/elf32-ppc.c | 6 +- bfd/elf32-rl78.c | 2 +- bfd/elf32-rx.c | 6 +- bfd/elf32-score.c | 2 +- bfd/elf32-score7.c | 2 +- bfd/elf32-sh.c | 16 +- bfd/elf32-spu.c | 6 +- bfd/elf32-tic6x.c | 10 +- bfd/elf32-v850.c | 14 +- bfd/elf32-vax.c | 8 +- bfd/elf64-alpha.c | 4 +- bfd/elf64-ia64-vms.c | 8 +- bfd/elf64-ppc.c | 12 +- bfd/elfcode.h | 6 +- bfd/elfcore.h | 2 +- bfd/elflink.c | 36 ++-- bfd/elfnn-aarch64.c | 4 +- bfd/elfnn-loongarch.c | 2 +- bfd/elfnn-riscv.c | 10 +- bfd/elfxx-aarch64.c | 4 +- bfd/elfxx-mips.c | 34 ++-- bfd/elfxx-x86.c | 4 +- bfd/format.c | 7 +- bfd/mmo.c | 2 +- bfd/xcofflink.c | 2 +- ld/emultempl/aix.em | 24 +-- ld/emultempl/armelf.em | 4 +- ld/emultempl/beos.em | 2 +- ld/emultempl/m68hc1xelf.em | 2 +- ld/emultempl/msp430.em | 4 +- ld/emultempl/nto.em | 4 +- ld/emultempl/pe.em | 18 +- ld/emultempl/pep.em | 12 +- ld/emultempl/xtensaelf.em | 6 +- ld/ldelf.c | 20 +- ld/ldelfgen.c | 6 +- ld/ldexp.c | 2 +- ld/ldlang.c | 44 ++--- ld/ldmain.c | 53 +++--- ld/ldmisc.c | 8 +- ld/pdb.c | 246 ++++++++++++------------- ld/pe-dll.c | 2 +- ld/testsuite/ld-elf/fatal-warnings-5.d | 6 + ld/testsuite/ld-elf/note-4.l | 2 + ld/testsuite/ld-elf/shared.exp | 5 + ld/testsuite/ld-i386/pr28894.d | 2 +- ld/testsuite/ld-i386/warn1.d | 2 +- ld/testsuite/ld-scripts/defined.exp | 1 + ld/testsuite/ld-scripts/defined7.d | 3 + 78 files changed, 493 insertions(+), 446 deletions(-) create mode 100644 ld/testsuite/ld-elf/fatal-warnings-5.d create mode 100644 ld/testsuite/ld-elf/note-4.l create mode 100644 ld/testsuite/ld-scripts/defined7.d -- 2.43.0