public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.12.
@ 2026-06-27 23:57 Jan Kratochvil
  0 siblings, 0 replies; only message in thread
From: Jan Kratochvil @ 2026-06-27 23:57 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 53edfc5dad7e043546698fbdd3c9c6537b56e1c5
Author : Jan Kratochvil <jan.kratochvil@redhat.com>
Date   : 2016-10-07T23:19:55+02:00
Stats  : +134/-696 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/53edfc5dad7e043546698fbdd3c9c6537b56e1c5?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 7.12.

---
diff --git a/.gitignore b/.gitignore
index ae9eafd..a94089c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /gdb-libstdc++-v3-python-6.1.1-20160817.tar.xz
 /v1.5.tar.gz
-/gdb-7.11.90.20161006.tar.xz
+/gdb-7.12.tar.xz

diff --git a/gdb-6.7-testsuite-stable-results.patch b/gdb-6.7-testsuite-stable-results.patch
new file mode 100644
index 0000000..4374e4a
--- /dev/null
+++ b/gdb-6.7-testsuite-stable-results.patch
@@ -0,0 +1,101 @@
+gdb/testsuite/gdb.base/fileio.c:
+gdb/testsuite/gdb.base/fileio.exp:
+2007-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/fileio.c (ROOTSUBDIR): New macro.
+	(main): CHDIR into ROOTSUBDIR.  CHOWN ROOTSUBDIR and CHDIR into
+	ROOTSUBDIR if we are being run as root.
+	* gdb.base/fileio.exp: Change the startup and finish cleanup.
+	Change the test file reference to be into the `fileio.dir' directory.
+
+
+sources/gdb/testsuite/gdb.base/dump.exp:
+Found on RHEL-5.s390x.
+
+
+gdb-6.8.50.20090209/gdb/testsuite/gdb.base/auxv.exp:
+random FAIL: gdb.base/auxv.exp: matching auxv data from live and gcore
+
+
+gdb-6.8.50.20090209/gdb/testsuite/gdb.base/annota1.exp:
+frames-invalid can happen asynchronously.
+
+Index: gdb-7.12/gdb/testsuite/gdb.base/fileio.c
+===================================================================
+--- gdb-7.12.orig/gdb/testsuite/gdb.base/fileio.c	2016-08-01 17:50:21.000000000 +0200
++++ gdb-7.12/gdb/testsuite/gdb.base/fileio.c	2016-10-07 22:49:20.689346914 +0200
+@@ -556,6 +556,28 @@
+ int
+ main ()
+ {
++  /* These tests
++       Open for write but no write permission returns EACCES
++       Unlinking a file in a directory w/o write access returns EACCES
++     fail if we are being run as root - drop the privileges here.  */
++
++  if (geteuid () == 0)
++    {
++      uid_t uid = 99;
++
++      if (chown (OUTDIR, uid, uid) != 0)
++	{
++	  printf ("chown %d.%d %s: %s\n", (int) uid, (int) uid,
++		  OUTDIR, strerror (errno));
++	  exit (1);
++	}
++      if (setuid (uid) || geteuid () == 0)
++	{
++	  printf ("setuid %d: %s\n", (int) uid, strerror (errno));
++	  exit (1);
++	}
++    }
++
+   /* Don't change the order of the calls.  They partly depend on each other */
+   test_open ();
+   test_write ();
+Index: gdb-7.12/gdb/testsuite/gdb.base/fileio.exp
+===================================================================
+--- gdb-7.12.orig/gdb/testsuite/gdb.base/fileio.exp	2016-08-01 17:50:21.000000000 +0200
++++ gdb-7.12/gdb/testsuite/gdb.base/fileio.exp	2016-10-07 22:54:44.680071906 +0200
+@@ -24,9 +24,9 @@
+ standard_testfile
+ 
+ if {[is_remote host]} {
+-    set outdir .
++    set outdir "fileio.dir"
+ } else {
+-    set outdir [standard_output_file {}]
++    set outdir [standard_output_file "fileio.dir"]
+ }
+ 
+ if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+@@ -47,7 +47,8 @@
+ if {[file exists $dir2] && ![file writable $dir2]} {
+     system "chmod +w $dir2"
+ }
+-system "rm -rf [standard_output_file *.fileio.test]"
++system "rm -rf [standard_output_file fileio.dir]"
++system "mkdir -m777 [standard_output_file fileio.dir]"
+ 
+ set oldtimeout $timeout
+ set timeout [expr "$timeout + 60"]
+@@ -89,7 +90,7 @@
+ 
+ gdb_test "continue" ".*" ""
+ 
+-catch "system \"chmod -f -w [standard_output_file nowrt.fileio.test]\""
++catch "system \"chmod -f -w [standard_output_file fileio.dir/nowrt.fileio.test]\""
+ 
+ gdb_test continue \
+ "Continuing\\..*open 5:.*EACCES$stop_msg" \
+@@ -276,9 +277,7 @@
+ gdb_exit
+ 
+ # Make dir2 writable again so rm -rf of a build tree Just Works.
+-if {[file exists $dir2] && ![file writable $dir2]} {
+-    system "chmod +w $dir2"
+-}
++system "chmod -R +w $outdir"
+ 
+ set timeout $oldtimeout
+ return 0

diff --git a/gdb-testsuite-dw2-undefined-ret-addr.patch b/gdb-testsuite-dw2-undefined-ret-addr.patch
deleted file mode 100644
index aae6063..0000000
--- a/gdb-testsuite-dw2-undefined-ret-addr.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2016-04/msg00181.html
-Subject: [testsuite patch] Fix 7.11 regression: gdb.dwarf2/dw2-undefined-ret-addr.exp [now with the patch]
-
-
---oyUTqETQ0mS9luUI
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-Hi,
-
-a038fa3e14a477d4d72a26c2e139fa47d2774be2 is the first bad commit
-commit a038fa3e14a477d4d72a26c2e139fa47d2774be2
-Author: Markus Metzger <markus.t.metzger@intel.com>
-    stack: check frame_unwind_caller_id
-[PATCH v3 2/3] stack: check frame_unwind_caller_id
-https://sourceware.org/ml/gdb-patches/2016-02/msg00363.html
-Message-Id: <1455207283-12660-2-git-send-email-markus.t.metzger@intel.com>
-
- (gdb) PASS: gdb.dwarf2/dw2-undefined-ret-addr.exp: up refuses to go up
- info frame
- Stack level 0, frame at 0x0:
-- rip = 0x40059a in stop_frame (dw2-undefined-ret-addr.c:22); saved rip = <not saved>
-+ rip = 0x40059a in stop_frame (dw2-undefined-ret-addr.c:22); saved rip = <unavailable>
-  Outermost frame: outermost
-  source language c.
-  Arglist at 0x7fffffffd610, args: 
-  Locals at 0x7fffffffd610, Previous frame's sp is 0x7fffffffd620
-  Saved registers:
-   rbp at 0x7fffffffd610
--(gdb) PASS: gdb.dwarf2/dw2-undefined-ret-addr.exp: info frame
-+(gdb) FAIL: gdb.dwarf2/dw2-undefined-ret-addr.exp: info frame
-
-It happens on normal native Fedora 23 x86_64.
-
-I am not completely sure about the reasons but it looks to me GDB behavior has
-just changed.
-
-OK for check-in?
-
-
-Thanks,
-Jan
-
---oyUTqETQ0mS9luUI
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename=1
-
-gdb/testsuite/ChangeLog
-2016-04-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* gdb.dwarf2/dw2-undefined-ret-addr.exp: Expect <unavailable>.
-
-diff --git a/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp b/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
-index c666584..e43054b 100644
---- a/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
-+++ b/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
-@@ -48,7 +48,7 @@ gdb_test "up" \
- # doesn't cause an error, and shows "<not saved>".
- gdb_test "info frame" [multi_line \
-     "Stack level 0, frame at $hex\:" \
--    " rip = $hex in stop_frame \\(dw2-undefined-ret-addr\\.c:22\\); saved rip = <not saved>" \
-+    " rip = $hex in stop_frame \\(dw2-undefined-ret-addr\\.c:22\\); saved rip = <unavailable>" \
-     " Outermost frame: outermost" \
-     " source language c\\." \
-     " Arglist at $hex, args\: " \
-
---oyUTqETQ0mS9luUI--
-

diff --git a/gdb-upstream.patch b/gdb-upstream.patch
index 649804b..6aab2c0 100644
--- a/gdb-upstream.patch
+++ b/gdb-upstream.patch
@@ -112,621 +112,3 @@ Date:   Wed Oct 5 21:56:46 2016 +0200
 +    "#0  ($hex in )?func.*\r\n#1  <signal handler called>\r\n#2  ($hex in )?main.*"
  
  gdb_test "finish" "Run till exit from \#0  func.*<signal handler called>"
-
-
-commit e027976f02ce8ed4cf0da79238226c03a640f2b3
-Author: Pedro Alves <palves@redhat.com>
-Date:   Thu Oct 6 12:57:39 2016 +0100
-
-    Fix a few gdb.base/jit-simple.exp problems
-    
-    I noticed that we sometimes get this:
-    
-      (gdb) print &__jit_debug_descriptor
-      $1 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
-      (gdb) PASS: gdb.base/jit-simple.exp: blah 1
-      [...]
-      (gdb) run
-      [...]
-      Starting program: build/gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple
-      Unsupported JIT protocol version 4 in descriptor (expected 1)
-    
-      Breakpoint 2, main () at src/gdb/testsuite/gdb.base/jit-simple.c:36
-      36        return 0;
-      (gdb) print &__jit_debug_descriptor
-      $2 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
-      (gdb) PASS: gdb.base/jit-simple.exp: blah 1
-    
-    All tests PASSed, but note the "Unsupported JIT protocol version 4"
-    message.
-    
-    Also notice that "__jit_debug_descriptor" has the same address before
-    and after the rerun, while the test is built in a way that should make
-    that address change between runs.
-    
-    The test doesn't catch any of this because it doesn't compare
-    before/after addresses.
-    
-    And then notice the "blah 1" test messages.  "blah" is clearly a WIP
-    message, but it should be at least "blah 2" the second time.  :-)
-    
-    The reason this sometimes happens is that the test recompiles the
-    program and expects gdb to reload it automaticallyt on "run".  However,
-    if the original program and the new recompilation happen to be in the
-    same second, then gdb does not realize that the binary needs to be
-    reloaded.  (This is an old problem out of scope of this series.)  If
-    that happens, then GDB ends up using the wrong symbols for the program
-    that it spawns, reads the JIT descriptor out of the wrong address,
-    finds garbage, and prints that "unsupported version" notice.
-    
-    Fix that in the same way gdb.base/reread.exp handles it -- by sleeping
-    one second before recompiling.
-    
-    gdb/testsuite/ChangeLog:
-    2016-10-06  Pedro Alves  <palves@redhat.com>
-    
-    	* gdb.base/jit-simple.exp (top level) Delete get_compiler_info
-    	call.
-    	(jit_run): Delete.
-    	(jit_test_reread): Use with_test_prefix.  Reload the main binary
-    	explicitly.  Compare the before/after addresses of the JIT
-    	descriptor.
-
-### a/gdb/testsuite/ChangeLog
-### b/gdb/testsuite/ChangeLog
-## -1,3 +1,12 @@
-+2016-10-06  Pedro Alves  <palves@redhat.com>
-+
-+	* gdb.base/jit-simple.exp (top level) Delete get_compiler_info
-+	call.
-+	(jit_run): Delete.
-+	(jit_test_reread): Use with_test_prefix.  Reload the main binary
-+	explicitly.  Compare the before/after addresses of the JIT
-+	descriptor.
-+
- 2016-10-03  Antoine Tremblay  <antoine.tremblay@ericsson.com>
- 2016-10-03  Simon Marchi  <simon.marchi@ericsson.com>
- 
---- a/gdb/testsuite/gdb.base/jit-simple.exp
-+++ b/gdb/testsuite/gdb.base/jit-simple.exp
-@@ -18,16 +18,6 @@ if {[skip_shlib_tests]} {
-     return -1
- }
- 
--if {[get_compiler_info]} {
--    warning "Could not get compiler info"
--    untested jit-simple.exp
--    return 1
--}
--
--#
--# test running programs
--#
--
- standard_testfile
- 
- if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
-@@ -35,39 +25,43 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
-     return -1
- }
- 
--# A helper for jit_test_reread that invokes gdb_run_cmd.
--proc jit_run {msg} {
--    global decimal gdb_prompt
--
--    gdb_run_cmd
--    gdb_test "" "Inferior .* exited.*" $msg
--}
--
- # Test re-running an inferior with a JIT descriptor, where the JIT
- # descriptor changes address between runs.
- # http://sourceware.org/bugzilla/show_bug.cgi?id=13431
- proc jit_test_reread {} {
-     global testfile binfile subdir srcfile srcdir
-+    global hex
- 
--    clean_restart $testfile
-+    with_test_prefix "initial run" {
-+	clean_restart $testfile
- 
--    # jit_run "initial run"
--    runto_main
--
--    gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1"
-+	runto_main
- 
--    gdb_rename_execfile $binfile ${binfile}x
-+	set addr_before [get_hexadecimal_valueof "&__jit_debug_descriptor" 0 \
-+			     "get address of __jit_debug_descriptor"]
-+    }
- 
--    if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DSPACER}] != "" } {
--	fail "recompile $srcfile"
--    } else {
--	pass "recompile $srcfile"
-+    with_test_prefix "second run" {
-+	# Ensure that the new executable is at least one second newer
-+	# than the old.  If the recompilation happens in the same
-+	# second, gdb might not reload the executable automatically.
-+	sleep 1
- 
--	# jit_run "second run"
-+	gdb_rename_execfile $binfile ${binfile}x
-+	if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DSPACER}] != "" } {
-+	    fail "recompile"
-+	    return
-+	} else {
-+	    pass "recompile"
-+	}
- 
- 	runto_main
--	gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1"
-+
-+	set addr_after [get_hexadecimal_valueof "&__jit_debug_descriptor" 0 \
-+			    "get address of __jit_debug_descriptor"]
-     }
-+
-+    gdb_assert {$addr_before != $addr_after} "address changed"
- }
- 
- jit_test_reread
-
-
-commit f8da6fe399c8dafa98e7dbed36d3562a919768f5
-Author: Pedro Alves <palves@redhat.com>
-Date:   Thu Oct 6 12:57:40 2016 +0100
-
-    Fix PR11094: JIT breakpoint is not properly recreated on reruns
-    
-    Even though this was supposedly in the gdb 7.2 timeframe, the testcase
-    in PR11094 crashes current GDB with a segfault:
-    
-      Program received signal SIGSEGV, Segmentation fault.
-      0x00000000005ee894 in event_location_to_string (location=0x0) at
-      src/gdb/location.c:412
-      412       if (EL_STRING (location) == NULL)
-      (top-gdb) bt
-      #0  0x00000000005ee894 in event_location_to_string (location=0x0) at
-      src/gdb/location.c:412
-      #1  0x000000000057411a in print_breakpoint_location (b=0x18288e0, loc=0x0) at
-      src/gdb/breakpoint.c:6201
-      #2  0x000000000057483f in print_one_breakpoint_location (b=0x18288e0,
-      loc=0x182cf10, loc_number=0, last_loc=0x7fffffffd258, allflag=1)
-          at src/gdb/breakpoint.c:6473
-      #3  0x00000000005751e1 in print_one_breakpoint (b=0x18288e0,
-      last_loc=0x7fffffffd258, allflag=1) at
-      src/gdb/breakpoint.c:6707
-      #4  0x000000000057589c in breakpoint_1 (args=0x0, allflag=1, filter=0x0) at
-      src/gdb/breakpoint.c:6947
-      #5  0x0000000000575aa8 in maintenance_info_breakpoints (args=0x0, from_tty=0)
-      at src/gdb/breakpoint.c:7026
-      [...]
-    
-    This is GDB trying to print the location spec of the JIT event
-    breakpoint, but that's an internal breakpoint without one.
-    
-    If I add a NULL check, then we see that the JIT breakpoint is now
-    pending (because its location has shlib_disabled set):
-    
-      (gdb) maint info breakpoints
-      Num     Type           Disp Enb Address            What
-      [...]
-      -8      jit events     keep y   <PENDING>           inf 1
-      [...]
-    
-    But that's incorrect.  GDB should have managed to recreate the JIT
-    breakpoint's location for the second run.  So the problem is
-    elsewhere.
-    
-    The problem is that if the JIT loads at the same address on the second
-    run, we never recreate the JIT breakpoint, because we hit this early
-    return:
-    
-      static int
-      jit_breakpoint_re_set_internal (struct gdbarch *gdbarch,
-    				  struct jit_program_space_data *ps_data)
-      {
-        [...]
-        if (ps_data->cached_code_address == addr)
-          return 0;
-    
-        [...]
-          delete_breakpoint (ps_data->jit_breakpoint);
-        [...]
-        ps_data->jit_breakpoint = create_jit_event_breakpoint (gdbarch, addr);
-    
-    Fix this by deleting the breakpoint and discarding the cached code
-    address when the objfile where the previous JIT breakpoint was found
-    is deleted/unloaded in the first place.
-    
-    The test that was originally added for PR11094 doesn't trip on this
-    because:
-    
-      #1 - It doesn't test the case of the JIT descriptor's address _not_
-           changing between reruns.
-    
-      #2 - And then it doesn't do "maint info breakpoints", or really
-           anything with the JIT at all.
-    
-      #3 - and even then, to trigger the problem the JIT descriptor needs
-           to be in a separate library, while the current test puts it in
-           the main program.
-    
-    The patch extends the test to cover all combinations of these
-    scenarios.
-    
-    gdb/ChangeLog:
-    2016-10-06  Pedro Alves  <palves@redhat.com>
-    
-    	* jit.c (free_objfile_data): Delete the JIT breakpoint and clear
-    	the cached code address.
-    
-    gdb/testsuite/ChangeLog:
-    2016-10-06  Pedro Alves  <palves@redhat.com>
-    
-    	* gdb.base/jit-simple-dl.c: New file.
-    	* gdb.base/jit-simple-jit.c: New file, factored out from ...
-    	* gdb.base/jit-simple.c: ... this.
-    	* gdb.base/jit-simple.exp (jit_run): Delete.
-    	(build_jit): New proc.
-    	(jit_test_reread): Recompile either the main program or the shared
-    	library, depending on what is being tested.  Skip changing address
-    	if caller wants to.  Compare before/after addresses.  If testing
-    	standalone, explicitly load the binary.  Test "maint info
-    	breakpoints".
-    	(top level): Add "standalone vs shared lib" and "change address"
-    	vs "same address" axes.
-
-### a/gdb/ChangeLog
-### b/gdb/ChangeLog
-## -1,3 +1,8 @@
-+2016-10-06  Pedro Alves  <palves@redhat.com>
-+
-+	* jit.c (free_objfile_data): Delete the JIT breakpoint and clear
-+	the cached code address.
-+
- 2016-10-03  Simon Marchi  <simark@simark.ca>
- 
- 	* infrun.c (restore_current_uiout_cleanup): Move to ui-out.c.
---- a/gdb/jit.c
-+++ b/gdb/jit.c
-@@ -1482,7 +1482,11 @@ free_objfile_data (struct objfile *objfile, void *data)
- 	= ((struct jit_program_space_data *)
- 	   program_space_data (objfile->pspace, jit_program_space_data));
-       if (ps_data != NULL && ps_data->objfile == objfile)
--	ps_data->objfile = NULL;
-+	{
-+	  ps_data->objfile = NULL;
-+	  delete_breakpoint (ps_data->jit_breakpoint);
-+	  ps_data->cached_code_address = 0;
-+	}
-     }
- 
-   xfree (data);
-### a/gdb/testsuite/ChangeLog
-### b/gdb/testsuite/ChangeLog
-## -1,5 +1,20 @@
- 2016-10-06  Pedro Alves  <palves@redhat.com>
- 
-+	* gdb.base/jit-simple-dl.c: New file.
-+	* gdb.base/jit-simple-jit.c: New file, factored out from ...
-+	* gdb.base/jit-simple.c: ... this.
-+	* gdb.base/jit-simple.exp (jit_run): Delete.
-+	(build_jit): New proc.
-+	(jit_test_reread): Recompile either the main program or the shared
-+	library, depending on what is being tested.  Skip changing address
-+	if caller wants to.  Compare before/after addresses.  If testing
-+	standalone, explicitly load the binary.  Test "maint info
-+	breakpoints".
-+	(top level): Add "standalone vs shared lib" and "change address"
-+	vs "same address" axes.
-+
-+2016-10-06  Pedro Alves  <palves@redhat.com>
-+
- 	* gdb.base/jit-simple.exp (top level) Delete get_compiler_info
- 	call.
- 	(jit_run): Delete.
---- /dev/null
-+++ b/gdb/testsuite/gdb.base/jit-simple-dl.c
-@@ -0,0 +1,25 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2016 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+/* A stub program that links with a simple library that uses the JIT
-+   API.  */
-+
-+int
-+main (void)
-+{
-+  return 0;
-+}
---- /dev/null
-+++ b/gdb/testsuite/gdb.base/jit-simple-jit.c
-@@ -0,0 +1,50 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2012-2016 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+/* Simple library using the JIT API.  */
-+
-+#include <stdint.h>
-+
-+struct jit_code_entry
-+{
-+  struct jit_code_entry *next_entry;
-+  struct jit_code_entry *prev_entry;
-+  const char *symfile_addr;
-+  uint64_t symfile_size;
-+};
-+
-+struct jit_descriptor
-+{
-+  uint32_t version;
-+  /* This type should be jit_actions_t, but we use uint32_t
-+     to be explicit about the bitwidth.  */
-+  uint32_t action_flag;
-+  struct jit_code_entry *relevant_entry;
-+  struct jit_code_entry *first_entry;
-+};
-+
-+#ifdef SPACER
-+/* This exists to change the address of __jit_debug_descriptor.  */
-+int spacer = 4;
-+#endif
-+
-+struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 };
-+
-+void
-+__jit_debug_register_code (void)
-+{
-+}
---- a/gdb/testsuite/gdb.base/jit-simple.c
-+++ b/gdb/testsuite/gdb.base/jit-simple.c
-@@ -1,37 +1,26 @@
--/* Simple program using the JIT API.  */
-+/* This testcase is part of GDB, the GNU debugger.
- 
--#include <stdint.h>
-+   Copyright 2016 Free Software Foundation, Inc.
- 
--struct jit_code_entry
--{
--  struct jit_code_entry *next_entry;
--  struct jit_code_entry *prev_entry;
--  const char *symfile_addr;
--  uint64_t symfile_size;
--};
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
- 
--struct jit_descriptor
--{
--  uint32_t version;
--  /* This type should be jit_actions_t, but we use uint32_t
--     to be explicit about the bitwidth.  */
--  uint32_t action_flag;
--  struct jit_code_entry *relevant_entry;
--  struct jit_code_entry *first_entry;
--};
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
- 
--#ifdef SPACER
--/* This exists to change the address of __jit_debug_descriptor.  */
--int spacer = 4;
--#endif
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
- 
--struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 };
-+/* Simple standalone program using the JIT API.  */
- 
--void __jit_debug_register_code()
--{
--}
-+#include "jit-simple-jit.c"
- 
--int main()
-+int
-+main (void)
- {
-   return 0;
- }
---- a/gdb/testsuite/gdb.base/jit-simple.exp
-+++ b/gdb/testsuite/gdb.base/jit-simple.exp
-@@ -13,6 +13,17 @@
- # You should have received a copy of the GNU General Public License
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
- 
-+# Test re-running an inferior with a JIT descriptor, where the JIT
-+# descriptor changes address between runs.
-+# http://sourceware.org/bugzilla/show_bug.cgi?id=13431
-+
-+# Test both the case of the JIT reader being included in the main
-+# program directly, and the case of the JIT reader being split out to
-+# a shared library.
-+
-+# For completeness, also test when the JIT descriptor does not change
-+# address between runs.
-+
- if {[skip_shlib_tests]} {
-     untested jit-simple.exp
-     return -1
-@@ -20,25 +31,81 @@ if {[skip_shlib_tests]} {
- 
- standard_testfile
- 
--if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
-+set libname $testfile-jit
-+set srcfile_lib $srcdir/$subdir/$libname.c
-+set binfile_lib [standard_output_file $libname.so]
-+
-+# Build a standalone JIT binary.
-+
-+proc build_standalone_jit {{options ""}} {
-+    global testfile srcfile binfile
-+
-+    lappend options "debug"
-+
-+    if {[build_executable $testfile.exp $testfile $srcfile $options] == -1} {
-+	return -1
-+    }
-+
-+    return 0
-+}
-+
-+# Build the shared library JIT.
-+
-+proc build_shared_jit {{options ""}} {
-+    global testfile
-+    global srcfile_lib binfile_lib
-+
-+    lappend options "debug additional_flags=-fPIC"
-+    if { [gdb_compile_shlib $srcfile_lib $binfile_lib $options] != "" } {
-+	return -1
-+    }
-+
-+    return 0
-+}
-+
-+if {[build_standalone_jit] == -1} {
-+    untested "could not compile $binfile"
-+    return
-+}
-+
-+if {[build_shared_jit] == -1} {
-+    untested "could not compile $binfile_lib"
-+    return
-+}
-+
-+# Built the program that loads the JIT library.
-+set srcfile_dl $testfile-dl.c
-+set binfile_dl $binfile-dl
-+set options [list debug shlib=${binfile_lib}]
-+if {[gdb_compile ${srcdir}/${subdir}/${srcfile_dl} $binfile_dl executable \
-+	 [list debug shlib=$binfile_lib]] == -1 } {
-     untested jit-simple.exp
-     return -1
- }
- 
--# Test re-running an inferior with a JIT descriptor, where the JIT
--# descriptor changes address between runs.
--# http://sourceware.org/bugzilla/show_bug.cgi?id=13431
--proc jit_test_reread {} {
--    global testfile binfile subdir srcfile srcdir
-+# STANDALONE is true when the JIT reader is included directly in the
-+# main program.  False when the JIT reader is in a separate shared
-+# library.  If CHANGE_ADDR is true, force changing the JIT descriptor
-+# changes address between runs.
-+proc jit_test_reread {standalone change_addr} {
-+    global testfile binfile subdir srcfile srcdir binfile_lib binfile_dl
-     global hex
- 
-     with_test_prefix "initial run" {
--	clean_restart $testfile
-+	if {$standalone} {
-+	    clean_restart $binfile
-+	} else {
-+	    clean_restart $binfile_dl
-+	}
- 
- 	runto_main
- 
- 	set addr_before [get_hexadecimal_valueof "&__jit_debug_descriptor" 0 \
- 			     "get address of __jit_debug_descriptor"]
-+
-+	gdb_test "maint info breakpoints" \
-+	    "jit events     keep y   $hex <__jit_debug_register_code>.*" \
-+	    "maint info breakpoints shows jit breakpoint"
-     }
- 
-     with_test_prefix "second run" {
-@@ -47,21 +114,49 @@ proc jit_test_reread {} {
- 	# second, gdb might not reload the executable automatically.
- 	sleep 1
- 
--	gdb_rename_execfile $binfile ${binfile}x
--	if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DSPACER}] != "" } {
--	    fail "recompile"
--	    return
--	} else {
--	    pass "recompile"
-+	if ${change_addr} {
-+	    set options "additional_flags=-DSPACER"
-+	    if {$standalone} {
-+		gdb_rename_execfile $binfile ${binfile}x
-+		set res [build_standalone_jit $options]
-+	    } else {
-+		gdb_rename_execfile $binfile_lib ${binfile_lib}x
-+		set res [build_shared_jit $options]
-+	    }
-+	    if  { $res == -1 } {
-+		fail "recompile"
-+		return
-+	    } else {
-+		pass "recompile"
-+	    }
- 	}
- 
- 	runto_main
- 
- 	set addr_after [get_hexadecimal_valueof "&__jit_debug_descriptor" 0 \
- 			    "get address of __jit_debug_descriptor"]
-+
-+	# This used to crash in the JIT-in-shared-library case:
-+	# https://sourceware.org/bugzilla/show_bug.cgi?id=11094
-+	gdb_test "maint info breakpoints" \
-+	    "jit events     keep y   $hex <__jit_debug_register_code>.*" \
-+	    "maint info breakpoints shows jit breakpoint"
-     }
- 
--    gdb_assert {$addr_before != $addr_after} "address changed"
-+    if ${change_addr} {
-+	gdb_assert {$addr_before != $addr_after} "address changed"
-+    } else {
-+	gdb_assert {$addr_before == $addr_after} "address didn't change"
-+    }
- }
- 
--jit_test_reread
-+foreach standalone {1 0} {
-+    with_test_prefix [expr ($standalone)?"standalone":"shared"] {
-+	with_test_prefix "change addr" {
-+	    jit_test_reread $standalone 1
-+	}
-+	with_test_prefix "same addr" {
-+	    jit_test_reread $standalone 0
-+	}
-+    }
-+}

diff --git a/gdb.spec b/gdb.spec
index da95c2e..b19a93d 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -21,13 +21,12 @@ Name: %{?scl_prefix}gdb
 %global snapsrc    20160801
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20150822
-%global tardate 20161006
-%global tarname gdb-7.11.90.%{tardate}
+%global tarname gdb-%{version}
 Version: 7.12
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 0.20.%{tardate}%{?dist}
+Release: 21%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
 Group: Development/Debuggers
@@ -85,7 +84,11 @@ Provides: bundled(binutils) = %{snapsrc}
 Provides: bundled(md5-gcc) = %{snapsrc}
 
 # https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_and_.25.7B_isa.7D
-%global buildisa %{?_with_buildisa:%{?_isa}}
+%if 0%{?_with_buildisa:1} || 0%{?_with_testsuite:1}
+%global buildisa %{?_isa}
+%else
+%global buildisa
+%endif
 
 %if 0%{!?rhel:1} || 0%{?rhel} > 7
 Recommends: dnf-command(debuginfo-install)
@@ -323,6 +326,10 @@ Patch282: gdb-6.7-charsign-test.patch
 #=fedoratest+ppc
 Patch284: gdb-6.7-ppc-clobbered-registers-O2-test.patch
 
+# Testsuite fixes for more stable/comparable results.
+#=fedoratest
+Patch287: gdb-6.7-testsuite-stable-results.patch
+
 # Test ia64 memory leaks of the code using libunwind.
 #=fedoratest
 Patch289: gdb-6.5-ia64-libunwind-leak-test.patch
@@ -582,9 +589,6 @@ Patch1113: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
 # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
 Patch1118: gdb-container-rh-pkg.patch
 
-# [testsuite] Fix 7.11 regression: gdb.dwarf2/dw2-undefined-ret-addr.exp
-Patch1120: gdb-testsuite-dw2-undefined-ret-addr.patch
-
 # New test for Python "Cannot locate object file for block" (for RH BZ 1325795).
 Patch1123: gdb-rhbz1325795-framefilters-test.patch
 
@@ -704,10 +708,18 @@ BuildRequires: fpc
 %endif
 %endif
 # Copied from: gcc-6.2.1-1.fc26
+# Exception for RHEL<=7
+%ifarch s390x
+%if 0%{!?rhel:1} || 0%{?rhel} > 7
+BuildRequires: gcc-gnat
+BuildRequires: libgnat%{bits_local} libgnat%{bits_other}
+%endif
+%else
 %ifarch %{ix86} x86_64 ia64 ppc %{power64} alpha s390x %{arm} aarch64
 BuildRequires: gcc-gnat
 BuildRequires: libgnat%{bits_local} libgnat%{bits_other}
 %endif
+%endif
 BuildRequires: glibc-devel%{bits_local} glibc-devel%{bits_other}
 BuildRequires: libgcc%{bits_local} libgcc%{bits_other}
 BuildRequires: libgfortran%{bits_local} libgfortran%{bits_other}
@@ -726,7 +738,15 @@ BuildRequires: libgo-devel%{bits_local} libgo-devel%{bits_other}
 BuildRequires: glibc-static%{bits_local}
 # multilib glibc-static is open Bug 488472:
 #BuildRequires: glibc-static%{bits_other}
+# Exception for RHEL<=7
+%ifarch s390x
+BuildRequires: valgrind%{bits_local}
+%if 0%{!?rhel:1} || 0%{?rhel} > 7
 BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
+%endif
+%else
+BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
+%endif
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 BuildRequires: xz
 %endif
@@ -846,6 +866,7 @@ find -name "*.info*"|xargs rm -f
 %patch353 -p1
 %patch282 -p1
 %patch284 -p1
+%patch287 -p1
 %patch289 -p1
 %patch290 -p1
 %patch294 -p1
@@ -927,7 +948,6 @@ done
 %patch331 -p1
 %patch1113 -p1
 %patch1118 -p1
-%patch1120 -p1
 %patch1123 -p1
 %patch1143 -p1
 %patch1144 -p1
@@ -1490,6 +1510,9 @@ then
 fi
 
 %changelog
+* Fri Oct  7 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12-21.fc25
+- Rebase to FSF GDB 7.12.
+
 * Thu Oct  6 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12-0.20.20161006.fc25
 - Rebase to FSF GDB 7.11.90.20161006 (pre-7.12 branch snapshot).
 

diff --git a/sources b/sources
index cf3fdb3..c8c9557 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 131d0dfd20cd6014c168fbcab9be2c43  gdb-libstdc++-v3-python-6.1.1-20160817.tar.xz
 29efc08219d9d6a0536d58f9807c8722  v1.5.tar.gz
-1018e904681aa0a64a1e315f808572ff  gdb-7.11.90.20161006.tar.xz
+a0a3a00f7499b0c5278ba8676745d180  gdb-7.12.tar.xz

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

only message in thread, other threads:[~2026-06-27 23:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-27 23:57 [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.12 Jan Kratochvil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox