public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb/binutils-2_38-branch] Allow inferring tmp_prefix from the dll name from a def file
@ 2022-01-22 14:32 Nick Clifton
  0 siblings, 0 replies; only message in thread
From: Nick Clifton @ 2022-01-22 14:32 UTC (permalink / raw)
  To: bfd-cvs, gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fdeee5d59dca41e3c70c399a939105e39a4b4282

commit fdeee5d59dca41e3c70c399a939105e39a4b4282
Author: Martin Storsj? <martin@martin.st>
Date:   Sat Jan 22 14:32:35 2022 +0000

    Allow inferring tmp_prefix from the dll name from a def file

Diff:
---
 binutils/ChangeLog        |   5 +++
 binutils/dlltool.c        |  34 +++++++--------
 libbacktrace/allocfail.sh | 104 ----------------------------------------------
 3 files changed, 22 insertions(+), 121 deletions(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index d8f370dfd65..09f392091e8 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2022-01-22  Martin Storsjö  <martin@martin.st>
+
+	* dlltool.c (main): Allow inferring tmp_prefix from the dll name
+	from a def file.
+
 2022-01-22  Nick Clifton  <nickc@redhat.com>
 
 	* configure: Regenerate.
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index a1e2b484328..d95bf3f5470 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -3930,23 +3930,6 @@ main (int ac, char **av)
 	}
     }
 
-  if (tmp_prefix == NULL)
-    {
-      /* If possible use a deterministic prefix.  */
-      if (dll_name)
-        {
-          tmp_prefix = xmalloc (strlen (dll_name) + 2);
-          sprintf (tmp_prefix, "%s_", dll_name);
-          for (i = 0; tmp_prefix[i]; i++)
-            if (!ISALNUM (tmp_prefix[i]))
-              tmp_prefix[i] = '_';
-        }
-      else
-        {
-          tmp_prefix = prefix_encode ("d", getpid ());
-        }
-    }
-
   for (i = 0; mtable[i].type; i++)
     if (strcmp (mtable[i].type, mname) == 0)
       break;
@@ -4006,6 +3989,23 @@ main (int ac, char **av)
       optind++;
     }
 
+  if (tmp_prefix == NULL)
+    {
+      /* If possible use a deterministic prefix.  */
+      if (dll_name)
+        {
+          tmp_prefix = xmalloc (strlen (dll_name) + 2);
+          sprintf (tmp_prefix, "%s_", dll_name);
+          for (i = 0; tmp_prefix[i]; i++)
+            if (!ISALNUM (tmp_prefix[i]))
+              tmp_prefix[i] = '_';
+        }
+      else
+        {
+          tmp_prefix = prefix_encode ("d", getpid ());
+        }
+    }
+
   mangle_defs ();
 
   if (exp_name)
diff --git a/libbacktrace/allocfail.sh b/libbacktrace/allocfail.sh
deleted file mode 100755
index 1f9894fd2e8..00000000000
--- a/libbacktrace/allocfail.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# allocfail.sh -- Test for libbacktrace library.
-# Copyright (C) 2018-2021 Free Software Foundation, Inc.
-
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-
-#     (1) Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-
-#     (2) Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in
-#     the documentation and/or other materials provided with the
-#     distribution.
-
-#     (3) The name of the author may not be used to
-#     endorse or promote products derived from this software without
-#     specific prior written permission.
-
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-set -e
-
-if [ ! -f ./allocfail ]; then
-    # Hard failure.
-    exit 99
-fi
-
-allocs=$(./allocfail 2>&1)
-if [ "$allocs" = "" ]; then
-    # Hard failure.
-    exit 99
-fi
-
-# This generates the following output:
-# ...
-# $ allocfail.sh
-# allocs: 80495
-# Status changed to 0 at 1
-# Status changed to 1 at 3
-# Status changed to 0 at 11
-# Status changed to 1 at 12
-# Status changed to 0 at 845
-# ...
-#
-# We have status 0 for an allocation failure at:
-# - 1 because backtrace_create_state handles failure robustly
-# - 2 because the fail switches backtrace_full to !can_alloc mode.
-# - 11 because failure of elf_open_debugfile_by_buildid does not generate an
-#   error callback beyond the one for the allocation failure itself.
-
-echo "allocs: $allocs"
-
-step=1
-i=1
-passes=0
-prev_status=-1
-while [ $i -le $allocs ]; do
-    if ./allocfail $i >/dev/null 2>&1; status=$?; then
-	true
-    fi
-    if [ $status -gt 1 ]; then
-	echo "Unallowed fail found: $i"
-	# Failure.
-	exit 1
-    fi
-
-    # The test-case would run too long if we would excercise all allocs.
-    # So, run with step 1 initially, and increase the step once we have 10
-    # subsequent passes, and drop back to step 1 once we encounter another
-    # failure.  This takes ~2.6 seconds on an i7-6600U CPU @ 2.60GHz.
-    if [ $status -eq 0 ]; then
-	passes=$(($passes + 1))
-	if [ $passes -ge 10 ]; then
-	    step=$((step * 10))
-	    passes=0
-	fi
-    elif [ $status -eq 1 ]; then
-	passes=0
-	step=1
-    fi
-
-    if [ $status -ne $prev_status ]; then
-	echo "Status changed to $status at $i"
-    fi
-    prev_status=$status
-
-    i=$(($i + $step))
-done
-
-# Success.
-exit 0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-22 14:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-22 14:32 [binutils-gdb/binutils-2_38-branch] Allow inferring tmp_prefix from the dll name from a def file Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).