From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id AD66A3858D35 for ; Fri, 26 Jan 2024 18:56:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD66A3858D35 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 AD66A3858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706295417; cv=none; b=VXRlPOb3Nfw9ctKtMRFg1NHrsJ7IlfQqBuk/sHN0Jznk2IRFsnls2YHvuPz/+KTi/CmxO2cIbM41ARhVLKXmbaLIFT0OwP+AO1mKcITFfycaPFEkNj5Gg4TFy9B0HSXCbE+inHAX0QYtkM+ft2vxsAQJOmT1FUQcIwfyeMYMUWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706295417; c=relaxed/simple; bh=WyY8EE6aaJqvBgEIIvbcz5REcjfv503YBmnLqeFbz4o=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=u09XkqZWcK+tZ8tpVGoGowvOLmraCYzfr4PKYcnurYqtiTrA42JBmnH6TI+PJYlNEGljHC/Uo+KSpMVMrHZyyr9uRahPSSgbVtLgvqrq5aNmheDqAkWr8kAM1W3NzR57sioBF1HZHUwEE6A2W+sp2VE2CBQzrUw6DhZZhn4+QCg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1d7859efea5so7950695ad.0 for ; Fri, 26 Jan 2024 10:56:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706295414; x=1706900214; 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=fUBxweUrqH3seFKi/BWWEXKdih4HLMpiLLgWgtRMUk4=; b=ZazHKM9JdEpst/mnnqM4MJ7Xw18jf1KRn8a7alTDRvLSzNeG+ayKNcwkTJ3Gue2ZpW 5s+hX6vaI20tNCzVEF1ENeNLg5wo3kPCS8Pte0EPkZHEIhCfqfxf3z68Ou4yVG6EPEQS Ill+Du8aPWEwSLD1ay3U+2s8vg20LI5uzvvOb1jRBt7nrDRwWciDK2JyIeGT8MmTSKzT QvA1KLaADlkXwYNAy9pFclADoaUumi0Z51rAGhryQyCnygGQVXZMs9HlLVNVKJU4Isx8 UPI9sdItqHG8n/usw/nYOvlfJWtQMkK1q7ZJDM9iIhcn6+gAHhtn72N5SodeQ+DWKkgM imJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706295414; x=1706900214; 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=fUBxweUrqH3seFKi/BWWEXKdih4HLMpiLLgWgtRMUk4=; b=eXKNV2Tj1DW6r+7zrtsSoSZWX9xhLExr1Qh3mkTzQ50bJR9yXCCTlEMrMU5WQGUs3E nU2sEL7zA3AQ/+gk+xfNrm4rpp9epnC7ilMb3vcsaTLwJCzlg/LRZZKVLU+YYMX/lwWI hqE7kMt354R5FN641GlnaXtYDS1Y+xWmYjRwRMX3dChrSZIWfFbdGRIxaAApv5GvCAzz abuFKG6qT7oxZkpVKS7QaEa6+rwtaKRJl4jBX4NOdyDK33BwvgBqc826Jez8U8IeHAKK LWcpoMxAbv4MdxNxMneaPmRhjchbuxo9Kg+43Gs1ijvkS1ipsOx+zmoPWUkBHzfaqfDI hU1g== X-Gm-Message-State: AOJu0Yy0rG9yKbnx55n3bnz9ivLq//Sq7QWc3sJAm+oa7Xzi0nNj14/F /gLs3cJmbIoCGVaGEPC10jkxL8982DLjXr0rCLx+Mqi/CX+KKr1SrFSclegI X-Google-Smtp-Source: AGHT+IERsupmrztKxEYZuRqyumsUt8HBgqD87jm/tqYUT1K2Os8iVok85iBNeqFuijWOFV3qJDsYNA== X-Received: by 2002:a17:902:d2cf:b0:1d7:8f22:638d with SMTP id n15-20020a170902d2cf00b001d78f22638dmr229006plc.9.1706295414403; Fri, 26 Jan 2024 10:56:54 -0800 (PST) Received: from gnu-cfl-3.localdomain ([172.56.169.51]) by smtp.gmail.com with ESMTPSA id t9-20020a170902d28900b001d73a2acc2bsm1255294plc.142.2024.01.26.10.56.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Jan 2024 10:56:54 -0800 (PST) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id DE3647401C1 for ; Fri, 26 Jan 2024 10:56:52 -0800 (PST) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH 0/2] ld: Output error for warnings with --fatal-warnings Date: Fri, 26 Jan 2024 10:56:50 -0800 Message-ID: <20240126185652.3464023-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=-3018.0 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: 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