From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1724305-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 82F2D1582EF
	for <garchives@archives.gentoo.org>; Thu, 06 Mar 2025 04:54:58 +0000 (UTC)
Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	(Authenticated sender: relay-lists.gentoo.org@gentoo.org)
	by smtp.gentoo.org (Postfix) with ESMTPSA id 654A0343070
	for <garchives@archives.gentoo.org>; Thu, 06 Mar 2025 04:54:58 +0000 (UTC)
Received: from bobolink.gentoo.org (localhost [127.0.0.1])
	by bobolink.gentoo.org (Postfix) with ESMTP id 579471102D2;
	Thu, 06 Mar 2025 04:54:57 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by bobolink.gentoo.org (Postfix) with ESMTPS id 51AB61102D2
	for <gentoo-commits@lists.gentoo.org>; Thu, 06 Mar 2025 04:54:57 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 0572D343014
	for <gentoo-commits@lists.gentoo.org>; Thu, 06 Mar 2025 04:54:57 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 4F2D5271B
	for <gentoo-commits@lists.gentoo.org>; Thu, 06 Mar 2025 04:54:55 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1741236890.cede467b7d5956b862883d790f438efbaca7a8b7.sam@gentoo>
Subject: [gentoo-commits] proj/toolchain/binutils-patches:master commit in: 9999/
X-VCS-Repository: proj/toolchain/binutils-patches
X-VCS-Files: 9999/0005-Revert-gprof-only-process-line-numbers-for-intersect.patch
X-VCS-Directories: 9999/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: cede467b7d5956b862883d790f438efbaca7a8b7
X-VCS-Branch: master
Date: Thu, 06 Mar 2025 04:54:55 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 8b628f4b-6527-4937-bb69-bd8c82a5fa33
X-Archives-Hash: 6e855fd6cf999cd9342291b3a8eef2c7

commit:     cede467b7d5956b862883d790f438efbaca7a8b7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  6 04:54:09 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar  6 04:54:50 2025 +0000
URL:        https://gitweb.gentoo.org/proj/toolchain/binutils-patches.git/commit/?id=cede467b

9999: revert gprof patch breaking glibc gmon tests

Bug: https://sourceware.org/PR32764
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...f-only-process-line-numbers-for-intersect.patch | 179 +++++++++++++++++++++
 1 file changed, 179 insertions(+)

diff --git a/9999/0005-Revert-gprof-only-process-line-numbers-for-intersect.patch b/9999/0005-Revert-gprof-only-process-line-numbers-for-intersect.patch
new file mode 100644
index 0000000..210438d
--- /dev/null
+++ b/9999/0005-Revert-gprof-only-process-line-numbers-for-intersect.patch
@@ -0,0 +1,179 @@
+From d7ccec5522b6c7f61c95c7db4d1d91ff17cd1a31 Mon Sep 17 00:00:00 2001
+Message-ID: <d7ccec5522b6c7f61c95c7db4d1d91ff17cd1a31.1741236819.git.sam@gentoo.org>
+From: Sam James <sam@gentoo.org>
+Date: Thu, 6 Mar 2025 04:53:27 +0000
+Subject: [PATCH] Revert "gprof: only process line numbers for intersection of
+ vmas and histograms"
+
+This reverts commit b8189cf9e40bd90502c9a2ce0df39dd54419bea4.
+
+Bug: https://sourceware.org/PR32764
+---
+ gprof/corefile.c | 96 +++++++++++++++++++++++-------------------------
+ gprof/gprof.c    | 23 ++++++------
+ 2 files changed, 56 insertions(+), 63 deletions(-)
+
+diff --git a/gprof/corefile.c b/gprof/corefile.c
+index a8970b3200d..bc26bd7883e 100644
+--- a/gprof/corefile.c
++++ b/gprof/corefile.c
+@@ -755,9 +755,8 @@ core_create_line_syms (void)
+   Sym prev, *sym;
+   const char *filename;
+   Sym_Table ltab;
++  bfd_vma vma_high;
+   size_t ltab_reserved;
+-  bfd_vma bfd_vma_low = core_text_sect->vma;
+-  bfd_vma bfd_vma_high = bfd_vma_low + bfd_section_size (core_text_sect);
+ 
+   /* Create symbols for functions as usual.  This is necessary in
+      cases where parts of a program were not compiled with -g.  For
+@@ -787,58 +786,53 @@ core_create_line_syms (void)
+      lot cleaner now.  */
+   memset (&prev, 0, sizeof (prev));
+ 
+-  for (size_t i = 0; i < num_histograms; ++i)
++  vma_high = core_text_sect->vma + bfd_section_size (core_text_sect);
++  for (vma = core_text_sect->vma; vma < vma_high; vma += insn_boundary)
+     {
+-      bfd_vma hist_vma_high = histograms[i].highpc;
+-      bfd_vma vma_low = MAX (histograms[i].lowpc, bfd_vma_low);
+-      bfd_vma vma_high = MIN (bfd_vma_high, hist_vma_high);
+-      for (vma = vma_low; vma < vma_high; vma += insn_boundary)
++      if (ltab.len >= ltab_reserved)
+ 	{
+-	  if (ltab.len >= ltab_reserved)
+-	    {
+-	      /* Reserve more space for line symbols.  */
+-	      ltab_reserved *= 2;
+-	      ltab.base = xrealloc (ltab.base, ltab_reserved * sizeof (Sym));
+-	      ltab.limit = ltab.base + ltab.len;
+-	    }
+-	  sym_init (ltab.limit);
+-
+-	  if (!get_src_info (vma, &filename, &ltab.limit->name, &ltab.limit->line_num)
+-	      || (prev.name && prev.line_num == ltab.limit->line_num
+-		  && strcmp (prev.name, ltab.limit->name) == 0
+-		  && filename_cmp (prev.file->name, filename) == 0))
+-	    continue;
+-
+-	  /* Make name pointer a malloc'ed string.  */
+-	  ltab.limit->name = xstrdup (ltab.limit->name);
+-	  ltab.limit->file = source_file_lookup_path (filename);
+-
+-	  ltab.limit->addr = vma;
+-
+-	  /* Set is_static based on the enclosing function, using either:
+-	     1) the previous symbol, if it's from the same function, or
+-	     2) a symtab lookup.  */
+-	  if (prev.name && ltab.limit->file == prev.file
+-	      && strcmp (ltab.limit->name, prev.name) == 0)
+-	    {
+-	      ltab.limit->is_static = prev.is_static;
+-	    }
+-	  else
+-	    {
+-	      sym = sym_lookup(&symtab, ltab.limit->addr);
+-	      if (sym)
+-		ltab.limit->is_static = sym->is_static;
+-	    }
+-
+-	  prev = *ltab.limit;
+-
+-	  DBG (AOUTDEBUG, printf ("[core_create_line_syms] %lu %s 0x%lx\n",
+-				  (unsigned long) (ltab.limit - ltab.base),
+-				  ltab.limit->name,
+-				  (unsigned long) ltab.limit->addr));
+-	  ++ltab.limit;
+-	  ++ltab.len;
++	  /* Reserve more space for line symbols.  */
++	  ltab_reserved *= 2;
++	  ltab.base = (Sym *) xrealloc (ltab.base, ltab_reserved * sizeof (Sym));
++	  ltab.limit = ltab.base + ltab.len;
+ 	}
++      sym_init (ltab.limit);
++
++      if (!get_src_info (vma, &filename, &ltab.limit->name, &ltab.limit->line_num)
++	  || (prev.name && prev.line_num == ltab.limit->line_num
++	      && strcmp (prev.name, ltab.limit->name) == 0
++	      && filename_cmp (prev.file->name, filename) == 0))
++	continue;
++
++      /* Make name pointer a malloc'ed string.  */
++      ltab.limit->name = xstrdup (ltab.limit->name);
++      ltab.limit->file = source_file_lookup_path (filename);
++
++      ltab.limit->addr = vma;
++
++      /* Set is_static based on the enclosing function, using either:
++	 1) the previous symbol, if it's from the same function, or
++	 2) a symtab lookup.  */
++      if (ltab.limit->file == prev.file
++	  && strcmp (ltab.limit->name, prev.name) == 0)
++	{
++	  ltab.limit->is_static = prev.is_static;
++	}
++      else
++	{
++	  sym = sym_lookup(&symtab, ltab.limit->addr);
++          if (sym)
++	    ltab.limit->is_static = sym->is_static;
++	}
++
++      prev = *ltab.limit;
++
++      DBG (AOUTDEBUG, printf ("[core_create_line_syms] %lu %s 0x%lx\n",
++			      (unsigned long) (ltab.limit - ltab.base),
++			      ltab.limit->name,
++			      (unsigned long) ltab.limit->addr));
++      ++ltab.limit;
++      ++ltab.len;
+     }
+ 
+   /* Reserve space for function symbols and/or trim excess space.  */
+diff --git a/gprof/gprof.c b/gprof/gprof.c
+index d1cbf25fa28..9392575f747 100644
+--- a/gprof/gprof.c
++++ b/gprof/gprof.c
+@@ -527,6 +527,17 @@ This program is free software.  This program has absolutely no warranty.\n"));
+   if (ignore_direct_calls)
+     core_get_text_space (core_bfd);
+ 
++  /* Create symbols from core image.  */
++  if (external_symbol_table)
++    core_create_syms_from (external_symbol_table);
++  else if (line_granularity)
++    core_create_line_syms ();
++  else
++    core_create_function_syms ();
++
++  /* Translate sym specs into syms.  */
++  sym_id_parse ();
++
+   if (file_format == FF_PROF)
+     {
+       fprintf (stderr,
+@@ -546,18 +557,6 @@ This program is free software.  This program has absolutely no warranty.\n"));
+       while (optind++ < argc);
+     }
+ 
+-  /* Create symbols from core image.  */
+-  if (external_symbol_table)
+-    core_create_syms_from (external_symbol_table);
+-  else if (line_granularity)
+-    core_create_line_syms ();
+-  else
+-    core_create_function_syms ();
+-
+-  /* Translate sym specs into syms.  */
+-  sym_id_parse ();
+-
+-
+   /* If user did not specify output style, try to guess something
+      reasonable.  */
+   if (output_style == 0)
+
+base-commit: 34f65d9dee431f840b554a9de6de314cc22849d7
+-- 
+2.48.1
+