From patchwork Sat Mar 2 13:21:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 209218 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp472909dyc; Sat, 2 Mar 2024 05:21:22 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXuotseCnPh4JJxfen+4YWIXJPuCyGtj9opKUdCnwmhGDYyhVbZJaJ3LR6te+trEaeFlPYIc2TLkPJsgP5FTDZ0d1A0VQ== X-Google-Smtp-Source: AGHT+IFzmzxXW9Qks00TDsuiNmzcCAIQyM2B1e+Emv7fNioaZTLg73OgC+9SsqWBFbwBGtfJe75n X-Received: by 2002:a05:6358:7e9d:b0:17b:f37f:69d8 with SMTP id o29-20020a0563587e9d00b0017bf37f69d8mr4340122rwn.7.1709385682080; Sat, 02 Mar 2024 05:21:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709385682; cv=pass; d=google.com; s=arc-20160816; b=Kwd2QOX8UgB7PH+5/6HkbwoWbGbtRMT83XB+xRMxa642Ygmq4Jntc7QErhvSbA+cAY 7ZjmXrbQ+4nj7UBIvGwoBhmv/N1f4O6ifz2hD7O9mH2ojkjSyVD+xYEeOlZVTDocZlCe LVJn5o+tJF+AC6uZfvMhx3dm1sxpw6YMNHxCq4PWkhon2IfT8e7jLTDu6HNIYncciLfm ZIOH8STggDX0U0TxcRmKvaCh3PZOClFjBOJE6+Ndp1YvIYBStj68KVk/bXnFpFTBlakU w8WEm8JyNCR2dvox041K7U0lmTYSzYsBtKW2QKF7mW3V0iMiJ7eII/Yd4gLBdTNHqOxR jgLw== 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:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=5LhH6352yBqKL9SGpv7zleQ1yz3teaGcsTExikHqFwk=; fh=NLxAvL/bDfPg4AGOtxqvQlND8vazkZrNzKLY8+LAbBY=; b=nAtljg/1GI2KKQjzcr13NCjcyljV14/IOtIOwZCzixNUAfQWivlAItJNeCoI0QELkK 64aw7DGQY5Oqu8OiNIiKyjnwtiXM+LbYe1y6vrfd91iklOG60rUepoW/j9FaVmx6st/j 5Sgk6RAMXY9bZCcZXIk7MBe0cWQucV41GD3Vmnm4Lb+FwWZUobCaYNYoN2ruhCN70QcP QxtiIIs50ohDKQvgvchyZLo+j5RrR1JJ34FG2RbFZTpVilOIv835MPzq4SAXRWsNe3hS ZHtOLHTxIgWU7hHipZLFYUto4PhJxJ2bEkfYiA1uhJRW98i8ct+UaCsAZDaWMeUlcGLD PUxg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="Omg0WW/g"; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 12-20020ad45bac000000b0068fa3454636si5591296qvq.277.2024.03.02.05.21.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Mar 2024 05:21:22 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.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=@gmail.com header.s=20230601 header.b="Omg0WW/g"; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C25563858413 for ; Sat, 2 Mar 2024 13:21:21 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by sourceware.org (Postfix) with ESMTPS id 9A1363858D1E for ; Sat, 2 Mar 2024 13:21:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9A1363858D1E 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 9A1363858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::433 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709385674; cv=none; b=H5wjuPPIxdEEL6838nRLQ/cFqEFP0JopAf7bm+pEaI5n4VXZGXkv+P9f2vgsq5USdzABuSFJtc6rTJSuEBzPjIZkPI3dPczL9dneQ8fTDhweh/YYTlWHHWGDCzCnxr0uWCSy8GyeK8E03EtxCsKlSmjK8qSv0RJdLZ7xCM/OHME= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709385674; c=relaxed/simple; bh=ICBnUSUQOH4HagAaxagiWiGntM6q+UBijX93/D59GWI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=t6y5ZERtiKogCsS81YtV8sFRyK/UQonzYxIfwbGhmCReuJYa2BrhrL0surUifNgzdPYYCSc9iZo29ARSbOnpn2KvRYCyVbRwoXrnEPLifvYASwWalgYYfHyl/FneBPSDkWA12rC/a4Q7xylE5wxcvZKf2CEI/TJ7fK8ZMg0Ae1g= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6e5760eeb7aso2622263b3a.1 for ; Sat, 02 Mar 2024 05:21:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709385670; x=1709990470; 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=5LhH6352yBqKL9SGpv7zleQ1yz3teaGcsTExikHqFwk=; b=Omg0WW/gxUtAk4c8SiEpShnPciJ/AIZV+Ku4yBL0bJLFHoK1NTvD3SbUJ81lIw0aKk +37jrsfvjMVwDbESTDmMWi+Y7+c2c7xuIm7LbfuFT3n/Pw/HaLAfEonxgeckZ4RGnZFb 7cvvpeMWvVdozj9mKoKz3fG+GkLblcg2M3UThzNM7F8BqBdY3OEhMh2CoRXeI/7JF9dr XlLsBxYCRMj+2cgTAoJUmSlgmtlX1fE2dVADOAvHVnjLBZDF0K4X6WcyLt8EZfUFg8Ka /fVXnL7KutXulgwmKUHVhQ46yu+weeydQx+0gSj6E/Tif8Yxwmt/q8j/QaeFMb78v/8l HojQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709385670; x=1709990470; 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=5LhH6352yBqKL9SGpv7zleQ1yz3teaGcsTExikHqFwk=; b=MejYiGy/7SlUF2vX9UGn7ikNCGaxH+8XxgfjWkrGr6SkbU3He5qI2aGFSP5eKKUsft nchLb+qLasmKINFNG4iCt+Z5J1BtcJrLWUDr8kUUIxMfZwHmqit7BsMLh6AbV75IYnGZ N5OigK4Ek47gBRGjjKUWJe0QAXW1Uxl/ErIRCtkxWEyXk8ekxUOEXnnAbuO80R2G5p/x xpPR4VubbzcBhsNsLsH/3veGGOYE2QL+m8ow1T0xTzIQZWBgVpTHeb0nFpuH16JsiqgO Wt1011KLg1471Mt8GD1Th2OF6zblCUvXfIbCE9ZHTe+W+zmYvgY35visLg+ZPi3hZe4B 0Iow== X-Gm-Message-State: AOJu0YwLxxMGLTLvIJSIdhHctgQFZxZ4JUjJr13dywAF6/KFHaw1AI+B IxjgNEEiPFAYjZGwOIVN4f0aZbVSs8V72UYkfHVoJYO4reVwqIKQGlMTZtLI X-Received: by 2002:a05:6a21:6d95:b0:1a1:14cc:115 with SMTP id wl21-20020a056a216d9500b001a114cc0115mr4889214pzb.8.1709385670229; Sat, 02 Mar 2024 05:21:10 -0800 (PST) Received: from gnu-tgl-2.localdomain ([172.58.89.72]) by smtp.gmail.com with ESMTPSA id y20-20020a056a00181400b006e5ecae7945sm1031754pfa.39.2024.03.02.05.21.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Mar 2024 05:21:09 -0800 (PST) Received: from gnu-tgl-2.. (localhost [IPv6:::1]) by gnu-tgl-2.localdomain (Postfix) with ESMTP id 82EFC300C9F for ; Sat, 2 Mar 2024 05:21:08 -0800 (PST) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH] bfd: Print cached message in _bfd_abort Date: Sat, 2 Mar 2024 05:21:08 -0800 Message-ID: <20240302132108.398436-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-Spam-Status: No, score=-3021.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_SBL_CSS, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792420801165687844 X-GMAIL-MSGID: 1792420801165687844 bfd_check_format_matches sets _bfd_error_handler to error_handler_sprintf to cache warning and error messages before restoring the original _bfd_error_handler. When something went wrong in between and _bfd_abort is called, there is no abort message. Update _bfd_abort to print cached messages. PR ld/31444 * bfd.c (_bfd_abort): Check and print cached messages. --- bfd/bfd.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/bfd/bfd.c b/bfd/bfd.c index c9f374e0948..be4c9af0f62 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -2077,7 +2077,26 @@ _bfd_abort (const char *file, int line, const char *fn) /* xgettext:c-format */ (_("BFD %s internal error, aborting at %s:%d\n"), BFD_VERSION_STRING, file, line); - _bfd_error_handler (_("Please report this bug.\n")); + + struct per_xvec_message **list + = _bfd_per_xvec_warn (error_handler_bfd->xvec, 0); + if (*list) + { + fflush (stdout); + for (struct per_xvec_message *warn = *list; warn;) + { + struct per_xvec_message *next = warn->next; + fputs (warn->message, stderr); + fputc ('\n', stderr); + free (warn); + warn = next; + } + fputs (_("Please report this bug.\n"), stderr); + fflush (stderr); + } + else + _bfd_error_handler (_("Please report this bug.\n")); + _exit (EXIT_FAILURE); }