From 56ceb435f61dbca6da0e6cb58ad047bd19c7a310 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 Nov 2016 11:18:43 +0100 Subject: A few notes on GDB issues, from months ago --- open_issues/binutils.mdwn | 159 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 157 insertions(+), 2 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index e024ace8..efc9941d 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -332,8 +332,9 @@ Last reviewed up to Git commit 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a ^ ../../W._C._Handy/gdb/gnu-nat.c:2973:7: error: invalid initializer - Commit 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869 renamed `thread_id_to_pid` - to `global_thread_id_to_ptid`. + Commit 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869 + `Per-inferior/Inferior-qualified thread IDs` renamed `thread_id_to_pid` to + `global_thread_id_to_ptid`. # Build @@ -1229,6 +1230,12 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting #9 0x081db277 in gdb_main (args=0x1bff164) at ../../W._C._Handy/gdb/main.c:1062 #10 0x0809714b in main (argc=5, argv=0x1bff1f4) at ../../W._C._Handy/gdb/gdb.c:33 + 2016-05-25, commit 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a (2016-02-10): + problem confirmed, when manually running GDB to debug another GDB instance. + Worked around by `#if 0`ing the bodies of + `gdb/guile/guile.c:_initialize_guile`, and + `gdb/guile/guile.c:gdbscm_finish_initialization`. + TODO. * In @@ -1298,6 +1305,154 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting [-* 4 Thread 6719.7 main (ac=1, av=0x102cda4) at ../../../W._C._Handy/bfd/doc/chew.c:1494-] [- 3-]{+1+} bogus thread id 6 Can't fetch registers from thread bogus thread id 6: No such thread + Commit f303dbd60d9c7984832446eeb9d4e4d89703c615 `Fix PR threads/19422 - + show which thread caused stop` needs additional changes for Hurd. + Reverting that one, the `Thread 4 hit` prefix goes away, but `info threads` + still doesn't work. + + Bisected the `info threads` problem to commit + 7e0aa6aa9983c745aedc203db0cc360a0ad47cac `List inferiors/threads/pspaces in + ascending order`. Does that one sort the `bogus thread id 6` first, and + GDB stops after running into any such bogus thread ID? + + $ gdb/gdb -q --args gdb/gdb -q bfd/doc/chew --batch -ex 'break main' -ex r -ex 'info threads' + + new_thread calls: + + #0 new_thread (ptid=...) at ../../W._C._Handy/gdb/thread.c:234 + #1 0x081dc973 in add_thread_silent (ptid=...) at ../../W._C._Handy/gdb/thread.c:304 + #2 0x080bcc9b in fork_inferior (exec_file_arg=0x877b868 "/media/erich/home/thomas/tmp/binutils-gdb/tschwinge/W._C._Handy.build/bfd/doc/chew", allargs=0x8787d28 "", env=0x87312f0, traceme_fun=0x2804864, init_trace_fun=0x0, pre_trace_fun=0x0, shell_file_arg=0x0, exec_fun=0x0) at ../../W._C._Handy/gdb/fork-child.c:397 + #3 0x080ba574 in gnu_create_inferior (ops=0x868c148, exec_file=0x877b868 "/media/erich/home/thomas/tmp/binutils-gdb/tschwinge/W._C._Handy.build/bfd/doc/chew", allargs=0x8787d28 "", env=0x87312f0, from_tty=0) at ../../W._C._Handy/gdb/gnu-nat.c:2136 + #4 0x081c4687 in run_command_1 (args=, from_tty=0, tbreak_at_main=) at ../../W._C._Handy/gdb/infcmd.c:604 + #5 0x082aa39d in execute_command (p=, from_tty=0) at ../../W._C._Handy/gdb/top.c:475 + #6 0x081e18c8 in catch_command_errors (command=0x82aa160 , arg=0x102d079 "r", from_tty=0) at ../../W._C._Handy/gdb/main.c:368 + + #0 new_thread (ptid=...) at ../../W._C._Handy/gdb/thread.c:234 + #1 0x081dc973 in add_thread_silent (ptid=...) at ../../W._C._Handy/gdb/thread.c:304 + #2 0x080b8359 in inf_validate_procs (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1104 + #3 0x080b85f1 in inf_update_procs (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1123 + #4 0x080b871e in inf_suspend (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1179 + #5 0x080b97a7 in gnu_wait (ops=0x868c148, ptid=..., status=0x2804810, options=0) at ../../W._C._Handy/gdb/gnu-nat.c:1530 + #6 0x08204a17 in delegate_wait (self=, arg1=..., arg2=0x2804810, arg3=0) at ../../W._C._Handy/gdb/target-delegates.c:116 + #7 0x08213c18 in target_wait (ptid=..., status=0x2804810, options=0) at ../../W._C._Handy/gdb/target.c:2256 + #8 0x080bce8d in startup_inferior (ntraps=1) at ../../W._C._Handy/gdb/fork-child.c:445 + #9 0x080ba612 in gnu_create_inferior (ops=0x868c148, exec_file=0x877b868 "/media/erich/home/thomas/tmp/binutils-gdb/tschwinge/W._C._Handy.build/bfd/doc/chew", allargs=0x8787d28 "", env=0x87312f0, from_tty=0) at ../../W._C._Handy/gdb/gnu-nat.c:2158 + #10 0x081c4687 in run_command_1 (args=, from_tty=0, tbreak_at_main=) at ../../W._C._Handy/gdb/infcmd.c:604 + #11 0x082aa39d in execute_command (p=, from_tty=0) at ../../W._C._Handy/gdb/top.c:475 + #12 0x081e18c8 in catch_command_errors (command=0x82aa160 , arg=0x102d079 "r", from_tty=0) at ../../W._C._Handy/gdb/main.c:368 + + #0 new_thread (ptid=...) at ../../W._C._Handy/gdb/thread.c:234 + #1 0x081dc973 in add_thread_silent (ptid=...) at ../../W._C._Handy/gdb/thread.c:304 + #2 0x081dca36 in add_thread_with_info (ptid=..., priv=0x0) at ../../W._C._Handy/gdb/thread.c:313 + #3 0x081dcaa6 in add_thread (ptid=...) at ../../W._C._Handy/gdb/thread.c:327 + #4 0x080b84b7 in inf_validate_procs (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1106 + #5 0x080b85f1 in inf_update_procs (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1123 + #6 0x080b871e in inf_suspend (inf=0x87a31e0) at ../../W._C._Handy/gdb/gnu-nat.c:1179 + #7 0x080b97a7 in gnu_wait (ops=0x868c148, ptid=..., status=0x2804828, options=0) at ../../W._C._Handy/gdb/gnu-nat.c:1530 + #8 0x08204a17 in delegate_wait (self=, arg1=..., arg2=0x2804828, arg3=0) at ../../W._C._Handy/gdb/target-delegates.c:116 + #9 0x08213c18 in target_wait (ptid=..., status=0x2804828, options=0) at ../../W._C._Handy/gdb/target.c:2256 + #10 0x081c80fe in do_target_wait (ptid=..., status=0x2804828, options=0) at ../../W._C._Handy/gdb/infrun.c:3642 + #11 0x081d30f5 in fetch_inferior_event (client_data=0x0) at ../../W._C._Handy/gdb/infrun.c:3900 + #12 0x081e8c54 in inferior_event_handler (event_type=INF_REG_EVENT, client_data=0x0) at ../../W._C._Handy/gdb/inf-loop.c:44 + #13 0x081c782c in infrun_async_inferior_event_handler (data=0x0) at ../../W._C._Handy/gdb/infrun.c:9082 + #14 0x081e72ec in check_async_event_handlers () at ../../W._C._Handy/gdb/event-loop.c:1038 + #15 gdb_do_one_event () at ../../W._C._Handy/gdb/event-loop.c:302 + #16 0x082aa126 in wait_sync_command_done () at ../../W._C._Handy/gdb/top.c:373 + #17 0x082aa323 in maybe_wait_sync_command_done (was_sync=0) at ../../W._C._Handy/gdb/top.c:388 + #18 execute_command (p=, from_tty=0) at ../../W._C._Handy/gdb/top.c:477 + #19 0x081e18c8 in catch_command_errors (command=0x82aa160 , arg=0x102d079 "r", from_tty=0) at ../../W._C._Handy/gdb/main.c:368 + + --- + + Changes `renumber_threads|prune_threads` + + +/* Implement the "to_update_thread_list" target_ops method. */ + + + +static void + +fbsd_update_thread_list (struct target_ops *ops) + +{ + +#ifdef PT_LWP_EVENTS + + /* With support for thread events, threads are added/deleted from the + + list as events are reported, so just try deleting exited threads. */ + + delete_exited_threads (); + +#else + + prune_threads (); + + + + fbsd_add_threads (ptid_get_pid (inferior_ptid)); + +#endif + +} + + static void + linux_nat_update_thread_list (struct target_ops *ops) + { + - if (linux_supports_traceclone ()) + - { + - /* With support for clone events, we add/delete threads from the + - list as clone/exit events are processed, so just try deleting + - exited threads still in the thread list. */ + - delete_exited_threads (); + - } + - else + - prune_threads (); + + /* We add/delete threads from the list as clone/exit events are + + processed, so just try deleting exited threads still in the + + thread list. */ + + delete_exited_threads (); + } + + commit 8a06aea71e0aa9099d0ca593dbb58f6e056af4ff + Author: Pedro Alves + Date: Tue Apr 7 15:47:22 2015 +0100 + + update thread list, delete exited threads + [...] + + ... looks very relevant + + commit 44ee4a526db6160b302417127e736b73fc00ee87 + Author: Pedro Alves + Date: Wed Oct 15 22:48:35 2014 +0100 + + DEC threads: Simplify updating the thread list + [...] + + commit ab970af19746364a4f236bebc238ebb036adc898 + Author: Pedro Alves + Date: Wed Oct 15 22:44:00 2014 +0100 + + remote: get rid of all the T packets when syncing the thread list + [...] + + commit e8032dde10b743253125d7defb5f5503b21c1d26 + Author: Pedro Alves + Date: Wed Oct 15 22:44:00 2014 +0100 + + Push pruning old threads down to the target + [...] + + commit c82f56d9d760a9b4034eeaac44f2f0fa5779ff69 + Author: Thomas Schwinge + Date: Wed Jan 8 21:42:07 2014 +0100 + + Hurd: Adjust to startup-with-shell changes. + [...] + + + If this is not done, GDB will get confused in the following. For example, + "info threads" will stop early with "bogus thread id 6 Can't fetch + registers from thread bogus thread id 6: No such thread". + + Calling delete_exited_threads instead of prune_threads does not work. + + It's not clear if this really should be called here, or if we fail to + properly track/report our own threads. For example, we're not calling + delete_thread anywhere. + + Alternatively, should/could we provide a update_thread_list function, and + do the pruning there? + + TODO. + TODO. -- cgit v1.2.3 From 4e867438357328b700779d1e1109adf3ebc681b4 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 Nov 2016 21:36:38 +0100 Subject: binutils-gdb: a932d108b10518994c873b38a363af9f21bc2e87 (2016-05-10) --- open_issues/binutils.mdwn | 344 ++++++++++++++++++++++++++++++++++++++++++++-- toolchain/logs | 2 +- 2 files changed, 337 insertions(+), 9 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index efc9941d..a2b146b7 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -47,8 +47,8 @@ git diff --patience --stat=$COLUMNS,$COLUMNS --patch --src-prefix=./ --dst-prefi --> -Last reviewed up to Git commit 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a -(2016-02-10). +Last reviewed up to Git commit a932d108b10518994c873b38a363af9f21bc2e87 +(2016-05-10). * Globally @@ -336,17 +336,339 @@ Last reviewed up to Git commit 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a `Per-inferior/Inferior-qualified thread IDs` renamed `thread_id_to_pid` to `global_thread_id_to_ptid`. + * 9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a..a932d108b10518994c873b38a363af9f21bc2e87 + + diff --git ./ld/testsuite/lib/ld-lib.exp ./ld/testsuite/lib/ld-lib.exp + @@ -1796,6 +1797,13 @@ proc check_lto_available { } { + {+# This test will hide LTO bugs in ld. Since GCC 4.9 adds+} + {+ # -ffat-lto-objects, we always run LTO tests on Linux with+} + {+ # GCC 4.9 or newer.+} + {+ if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {+} + {+ set lto_available_saved 1+} + {+ return 1+} + {+ }+} + + diff --git ./ld/testsuite/lib/ld-lib.exp ./ld/testsuite/lib/ld-lib.exp + @@ -1830,6 +1840,13 @@ proc check_lto_fat_available { } { + {+# This test will hide LTO bugs in ld. Since GCC 4.9 adds+} + {+ # -ffat-lto-objects, we always run LTO tests on Linux with+} + {+ # GCC 4.9 or newer.+} + {+ if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {+} + {+ set lto_fat_available_saved 1+} + {+ return 1+} + {+ }+} + + diff --git ./ld/testsuite/lib/ld-lib.exp ./ld/testsuite/lib/ld-lib.exp + @@ -1864,6 +1883,13 @@ proc check_lto_shared_available { } { + {+# This test will hide LTO bugs in ld. Since GCC 4.9 adds+} + {+ # -ffat-lto-objects, we always run LTO tests on Linux with+} + {+ # GCC 4.9 or newer.+} + {+ if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {+} + {+ set lto_shared_available_saved 1+} + {+ return 1+} + {+ }+} + + + * `--enable-build-with-cxx` is now the default for GDB. But, the x86 + GNU/Hurd GDB port is not yet ready: + + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void fetch_fpregs(regcache*, proc*)': + ../../W._C._Handy/gdb/i386gnu-nat.c:64:37: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) &state, &count); + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void store_fpregs(const regcache*, proc*, int)': + ../../W._C._Handy/gdb/i386gnu-nat.c:154:37: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) &state, &count); + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c:167:53: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) &state, i386_FLOAT_STATE_COUNT); + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_get(i386_debug_state*, proc*)': + ../../W._C._Handy/gdb/i386gnu-nat.c:285:35: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) regs, &count); + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set(const i386_debug_state*, proc*)': + ../../W._C._Handy/gdb/i386gnu-nat.c:299:51: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) regs, i386_DEBUG_STATE_COUNT); + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set_control_one(proc*, void*)': + ../../W._C._Handy/gdb/i386gnu-nat.c:310:28: error: invalid conversion from 'void*' to 'long unsigned int*' [-fpermissive] + unsigned long *control = arg; + ^ + ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set_addr_one(proc*, void*)': + ../../W._C._Handy/gdb/i386gnu-nat.c:340:31: error: invalid conversion from 'void*' to 'reg_addr*' [-fpermissive] + struct reg_addr *reg_addr = arg; + ^ + In file included from ../../W._C._Handy/gdb/gnu-nat.c:38:0: + /usr/include/hurd.h: In function 'int __hurd_fail(error_t)': + /usr/include/hurd.h:60:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + err = EIEIO; + ^ + /usr/include/hurd.h:64:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + err = ENOMEM; + ^ + /usr/include/hurd.h:68:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + err = EINVAL; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'natural_t* proc_get_state(proc*, int)': + ../../W._C._Handy/gdb/gnu-nat.c:372:48: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (thread_state_t) &proc->state, &state_size); + ^ + In file included from /usr/include/mach/mach_types.h:46:0, + from /usr/include/mach.h:28, + from ./nm.h:23, + from ../../W._C._Handy/gdb/defs.h:521, + from ../../W._C._Handy/gdb/gnu-nat.c:23: + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t proc_get_exception_port(proc*, mach_port_t*)': + ../../W._C._Handy/gdb/gnu-nat.c:394:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + return task_get_exception_port (proc->port, port); + ^ + In file included from /usr/include/mach/mach_types.h:48:0, + from /usr/include/mach.h:28, + from ./nm.h:23, + from ../../W._C._Handy/gdb/defs.h:521, + from ../../W._C._Handy/gdb/gnu-nat.c:23: + ../../W._C._Handy/gdb/gnu-nat.c:396:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + return thread_get_exception_port (proc->port, port); + ^ + In file included from /usr/include/mach/mach_types.h:46:0, + from /usr/include/mach.h:28, + from ./nm.h:23, + from ../../W._C._Handy/gdb/defs.h:521, + from ../../W._C._Handy/gdb/gnu-nat.c:23: + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t proc_set_exception_port(proc*, mach_port_t)': + ../../W._C._Handy/gdb/gnu-nat.c:405:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + return task_set_exception_port (proc->port, port); + ^ + In file included from /usr/include/mach/mach_types.h:48:0, + from /usr/include/mach.h:28, + from ./nm.h:23, + from ../../W._C._Handy/gdb/defs.h:521, + from ../../W._C._Handy/gdb/gnu-nat.c:23: + ../../W._C._Handy/gdb/gnu-nat.c:407:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + return thread_set_exception_port (proc->port, port); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void proc_steal_exc_port(proc*, mach_port_t)': + ../../W._C._Handy/gdb/gnu-nat.c:441:21: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void proc_restore_exc_port(proc*)': + ../../W._C._Handy/gdb/gnu-nat.c:484:21: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'proc* make_proc(inf*, mach_port_t, int)': + ../../W._C._Handy/gdb/gnu-nat.c:574:19: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + &prev_port); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_startup(inf*, int)': + ../../W._C._Handy/gdb/gnu-nat.c:724:49: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + MACH_PORT_RIGHT_RECEIVE, &inf->event_port); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_set_pid(inf*, pid_t)': + ../../W._C._Handy/gdb/gnu-nat.c:748:64: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = proc_pid2task (proc_server, pid, &task_port); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_procinfo(inf*)': + ../../W._C._Handy/gdb/gnu-nat.c:799:56: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (procinfo_t *) &pi, &pi_len, &noise, &noise_len); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_task_sc(inf*)': + ../../W._C._Handy/gdb/gnu-nat.c:829:53: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + (procinfo_t *) &pi, &pi_len, &noise, &noise_len); + ^ + In file included from /usr/include/hurd/userlink.h:27:0, + from /usr/include/hurd/port.h:25, + from /usr/include/hurd.h:41, + from ../../W._C._Handy/gdb/gnu-nat.c:38: + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_set_traced(inf*, int)': + ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:141:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + : EIEIO) + ^ + ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_procs(inf*)': + ../../W._C._Handy/gdb/gnu-nat.c:1010:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = task_threads (task->port, &threads, &num_threads); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_signal(inf*, gdb_signal)': + ../../W._C._Handy/gdb/gnu-nat.c:1327:17: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1359:43: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + e->exception, e->code, e->subcode); + ^ + In file included from /usr/include/hurd/userlink.h:27:0, + from /usr/include/hurd/port.h:25, + from /usr/include/hurd.h:41, + from ../../W._C._Handy/gdb/gnu-nat.c:38: + ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' + INF_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' + INF_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' + INF_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' + __e = INF_MSGPORT_RPC (inf, rpc_expr); \ + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' + INF_RESUME_MSGPORT_RPC (inf, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1394:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + err = + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_continue(inf*)': + ../../W._C._Handy/gdb/gnu-nat.c:1416:60: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + error_t err = proc_pid2proc (proc_server, inf->pid, &proc); + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1422:33: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + err = proc_mark_cont (proc); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'ptid_t gnu_wait(target_ops*, ptid_t, target_waitstatus*, int)': + ../../W._C._Handy/gdb/gnu-nat.c:1497:70: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + proc_wait_request (proc_server, inf->event_port, inf->pid, WUNTRACED); + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1521:42: error: invalid conversion from 'mach_msg_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_exception_raise_request(mach_port_t, mach_port_t, thread_t, task_t, int, int, int)': + ../../W._C._Handy/gdb/gnu-nat.c:1652:43: error: ambiguating new declaration of 'error_t S_exception_raise_request(mach_port_t, mach_port_t, thread_t, task_t, int, int, int)' + int exception, int code, int subcode) + ^ + In file included from ../../W._C._Handy/gdb/gnu-nat.c:66:0: + ./exc_request_S.h:19:15: note: old declaration 'kern_return_t S_exception_raise_request(mach_port_t, mach_port_t, mach_port_t, mach_port_t, integer_t, integer_t, integer_t)' + kern_return_t S_exception_raise_request + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1668:9: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + return 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1730:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + return 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t do_mach_notify_dead_name(mach_port_t, mach_port_t)': + ../../W._C._Handy/gdb/gnu-nat.c:1747:68: error: ambiguating new declaration of 'error_t do_mach_notify_dead_name(mach_port_t, mach_port_t)' + do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port) + ^ + In file included from ../../W._C._Handy/gdb/gnu-nat.c:67:0: + ./notify_S.h:78:15: note: old declaration 'kern_return_t do_mach_notify_dead_name(mach_port_t, mach_port_t)' + kern_return_t do_mach_notify_dead_name + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1784:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + return 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_proc_wait_reply(mach_port_t, error_t, int, int, rusage_t, pid_t)': + ../../W._C._Handy/gdb/gnu-nat.c:1859:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + return 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_msg_sig_post_untraced_reply(mach_port_t, error_t)': + ../../W._C._Handy/gdb/gnu-nat.c:1952:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] + return 0; + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'mach_port_msgcount_t port_msgs_queued(mach_port_t)': + ../../W._C._Handy/gdb/gnu-nat.c:1964:67: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] + mach_port_get_receive_status (mach_task_self (), port, &status); + ^ + ../../W._C._Handy/gdb/gnu-nat.c: In function 'void gnu_create_inferior(target_ops*, char*, char*, char**, int)': + ../../W._C._Handy/gdb/gnu-nat.c:2121:3: error: a function-definition is not allowed here before '{' token + { + ^ + ../../W._C._Handy/gdb/gnu-nat.c:3471:1: error: expected '}' at end of input + } + ^ + ../../W._C._Handy/gdb/gnu-nat.c: At global scope: + ../../W._C._Handy/gdb/gnu-nat.c:1227:1: warning: 'void inf_update_signal_thread(inf*)' defined but not used [-Wunused-function] + inf_update_signal_thread (struct inf *inf) + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1448:1: warning: 'ptid_t gnu_wait(target_ops*, ptid_t, target_waitstatus*, int)' defined but not used [-Wunused-function] + gnu_wait (struct target_ops *ops, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:1990:1: warning: 'void gnu_resume(target_ops*, ptid_t, int, gdb_signal)' defined but not used [-Wunused-function] + gnu_resume (struct target_ops *ops, + ^ + ../../W._C._Handy/gdb/gnu-nat.c:2067:1: warning: 'void gnu_kill_inferior(target_ops*)' defined but not used [-Wunused-function] + gnu_kill_inferior (struct target_ops *ops) + ^ + ../../W._C._Handy/gdb/gnu-nat.c:2082:1: warning: 'void gnu_mourn_inferior(target_ops*)' defined but not used [-Wunused-function] + gnu_mourn_inferior (struct target_ops *ops) + ^ + ../../W._C._Handy/gdb/gnu-nat.c:2094:1: warning: 'int inf_pick_first_thread()' defined but not used [-Wunused-function] + inf_pick_first_thread (void) + ^ + ../../W._C._Handy/gdb/gnu-nat.c:2113:1: warning: 'void gnu_create_inferior(target_ops*, char*, char*, char**, int)' defined but not used [-Wunused-function] + gnu_create_inferior (struct target_ops *ops, + ^ + # Build Here's a log of a binutils-gdb build run; this is from Git commit -9ef9e6a6a0dd8f948708cb67c9afcfd0be40cb0a (2016-02-10), plus `PATH_MAX` +a932d108b10518994c873b38a363af9f21bc2e87 (2016-05-10), plus `PATH_MAX` hard-coded in `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of `thread_id_to_pid` in `gdb/gnu-nat.c`, run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C - $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --enable-plugins --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.9 CXX=g++-4.9 --disable-werror 2>&1 | tee log_build + $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --enable-plugins --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.9 CXX=g++-4.9 --disable-werror --disable-build-with-cxx 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -357,9 +679,12 @@ harmonized. Debian GCC (which is used in the testsuite) likes to pass so we need to configure with support for plugins and sysroots. In the GDB build, there are compiler diagnostics reported in the MIG-generated stub files; thus no `-Werror` until that is resolved. +`--disable-build-with-cxx`, as the x86 GNU/Hurd GDB port is not ready. See +below. This needs to be addressed soon, as GDB will soon *require a C++ +compiler*, [[!message-id "ab08f2c8-3b52-3a7a-2236-89833bd09129@redhat.com"]]. -This takes up around 1.5 GiB, and runs for [[17 min|performance#measure]] on -kepler.SCHWINGE and [[19 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.5 GiB, and runs for [[18 min|performance#measure]] on +kepler.SCHWINGE and [[15 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit a932d108b10518994c873b38a363af9f21bc2e87 -(2016-05-10). +Last reviewed up to Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece +(2016-09-05). * Globally @@ -658,11 +658,74 @@ Last reviewed up to Git commit a932d108b10518994c873b38a363af9f21bc2e87 gnu_create_inferior (struct target_ops *ops, ^ + [[!message-id "87eg1z93za.fsf@euler.schwinge.homeip.net"]]. + + * a932d108b10518994c873b38a363af9f21bc2e87..f245535cf583ae4ca13b10d47b3c7d3334593ece + + `gas/NEWS`: `Default to --enable-compressed-debug-sections=gas for + Linux/x86 targets.` + + `gas/configure.tgt`: + + +case ${cpu_type}-${fmt}-${os} in + +i386-elf-linux*) + + # Default to compress DWARF debug sections for Linux/x86. + + if test ${ac_default_compressed_debug_sections} = unset; then + + ac_default_compressed_debug_sections=yes + + fi + + ;; + +esac + + + `ld/NEWS`: `Add a configure option --enable-relro to decide whether -z + relro should be enabled in ELF linker by default. Default to yes for all + Linux targets except FRV, HPPA, IA64 and MIPS.` + + `ld/configure.tgt`: + + +case "${target}" in + +frv-*-* | hppa*-*-* | ia64-*-* | mips*-*-*) + + # Don't enable -z relro by default since many relro tests fail on these + + # targets: + + # FAIL: strip -z relro (relro1) + + # FAIL: strip -z relro -shared (relro1) + + # FAIL: objcopy -z relro (relro1) + + # FAIL: objcopy -z relro -shared (relro1) + + # FAIL: objcopy -z relro (tdata1) + + # FAIL: objcopy -shared -z relro (tdata1) + + # FAIL: objcopy -z relro (tdata2) + + # FAIL: objcopy -shared -z relro (tdata2) + + # FAIL: objcopy -z relro (tdata3) + + # FAIL: objcopy -shared -z relro (tdata3) + + # FAIL: objcopy -shared -z relro (tbss1) + + # FAIL: objcopy -shared -z relro (tbss2) + + # FAIL: objcopy -shared -z relro (tbss3) + + ;; + +*-*-linux*) + + if test ${ac_default_ld_z_relro} = unset; then + + ac_default_ld_z_relro=1 + + fi + + ;; + +esac + + + --- /dev/null + +++ ./ld/testsuite/ld-i386/tls.exp + +# Only on Linux for now. + +if ![istarget "i?86-*-linux*"] { + + return + +} + + --- /dev/null + +++ ./ld/testsuite/ld-i386/tlsgd3.dd + +++ ./ld/testsuite/ld-i386/tlsld2.dd + +#target: i?86-*-linux* + # Build Here's a log of a binutils-gdb build run; this is from Git commit -a932d108b10518994c873b38a363af9f21bc2e87 (2016-05-10), plus `PATH_MAX` +f245535cf583ae4ca13b10d47b3c7d3334593ece (2016-09-05), plus `PATH_MAX` hard-coded in `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of `thread_id_to_pid` in `gdb/gnu-nat.c`, run on kepler.SCHWINGE and laplace.SCHWINGE. @@ -683,8 +746,8 @@ MIG-generated stub files; thus no `-Werror` until that is resolved. below. This needs to be addressed soon, as GDB will soon *require a C++ compiler*, [[!message-id "ab08f2c8-3b52-3a7a-2236-89833bd09129@redhat.com"]]. -This takes up around 1.5 GiB, and runs for [[18 min|performance#measure]] on -kepler.SCHWINGE and [[15 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.5 GiB, and runs for [[16 min|performance#measure]] on +kepler.SCHWINGE and [[22 min|performance#measure]] on laplace.SCHWINGE. @@ -830,8 +830,8 @@ formats, and more emulation vectors. $ make install 2>&1 | tee log_install [...] -This takes up around 220 MiB, and runs for [[0 min|performance#measure]] on -kepler.SCHWINGE and [[2 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 250 MiB, and runs for [[0 min|performance#measure]] on +kepler.SCHWINGE and [[3 min|performance#measure]] on laplace.SCHWINGE. ## Analysis @@ -843,10 +843,21 @@ kepler.SCHWINGE and [[2 min|performance#measure]] on laplace.SCHWINGE. # Testsuite - $ make -k check 2>&1 | tee log_test +At least for GNU/Linux, Debian's GCC 6 is configured with +`--enable-default-pie` -- which the *gdb*, *gold*, and *ld* testsuites don't +like, so we have to cancel that for testing. +`CC_FOR_TARGET` and `CXX_FOR_TARGET` in `RUNTESTFLAGS` is considered by the *gdb* testsuite, +`CC_FOR_TARGET` and `CXX_FOR_TARGET` on the `make` command line by the *ld* testsuite, +`CC` and `CXX` on the `make` command line by the *gold* testsuite +but only when invoked (from the top level) as `make check-gold` and not when run as part of `make check`... +I couldn't figure out a command-line variant for *gold* testsuite, +so instead we apply an ugly hack to `gold/testsuite/Makefile`. + + $ sed -e 's%^\([A-Z]\+ = g..-6\)%override \1 -fno-pie -fno-PIE -no-pie%g' -i gold/testsuite/Makefile + $ make -k check RUNTESTFLAGS=CC_FOR_TARGET='gcc-6\ -fno-pie\ -fno-PIE\ -no-pie'\ CXX_FOR_TARGET='g++-6\ -fno-pie\ -fno-PIE\ -no-pie' CC_FOR_TARGET='gcc-6 -fno-pie -fno-PIE -no-pie' CXX_FOR_TARGET='g++-6 -fno-pie -fno-PIE -no-pie' 2>&1 | tee log_test [...] -This runs for [[23 min|performance#measure]] on kepler.SCHWINGE and [[73 +This runs for [[24 min|performance#measure]] on kepler.SCHWINGE and [[86 min|performance#measure]] on laplace.SCHWINGE. When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index c742f06e..7850d024 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -1061,6 +1061,12 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point; ee1bfdb0d611ed2e1057071f39589e6ebcd87983 `Remove __seg_tls before first release`. + * `--enable-default-pie` + + On 2016-12-05 noticed that per `gcc -v` output, `gcc version 6.2.1 20161124 + (Debian 6.2.1-5)` for GNU/Linux is configured with + `--enable-default-pie`, but GNU/Hurd is not. + # Build diff --git a/toolchain/logs b/toolchain/logs index 9f697cf0..f7e923e5 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 9f697cf053de6605ac1f5e5e9a3b22b889ba3f6d +Subproject commit f7e923e5eda4eb2148cdac492f0f77dc2f771528 -- cgit v1.2.3 From 87eb7269e6027a210229daa5a50acd4d2a067308 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 6 Dec 2016 17:08:11 +0100 Subject: binutils-gdb: Build GDB with a C++ compiler --- open_issues/binutils.mdwn | 310 ++-------------------------------------------- toolchain/logs | 2 +- 2 files changed, 12 insertions(+), 300 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index afc0405f..59f2e4d3 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -340,297 +340,6 @@ Last reviewed up to Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece {+ }+} - * `--enable-build-with-cxx` is now the default for GDB. But, the x86 - GNU/Hurd GDB port is not yet ready: - - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void fetch_fpregs(regcache*, proc*)': - ../../W._C._Handy/gdb/i386gnu-nat.c:64:37: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) &state, &count); - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void store_fpregs(const regcache*, proc*, int)': - ../../W._C._Handy/gdb/i386gnu-nat.c:154:37: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) &state, &count); - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c:167:53: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) &state, i386_FLOAT_STATE_COUNT); - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_get(i386_debug_state*, proc*)': - ../../W._C._Handy/gdb/i386gnu-nat.c:285:35: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) regs, &count); - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set(const i386_debug_state*, proc*)': - ../../W._C._Handy/gdb/i386gnu-nat.c:299:51: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) regs, i386_DEBUG_STATE_COUNT); - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set_control_one(proc*, void*)': - ../../W._C._Handy/gdb/i386gnu-nat.c:310:28: error: invalid conversion from 'void*' to 'long unsigned int*' [-fpermissive] - unsigned long *control = arg; - ^ - ../../W._C._Handy/gdb/i386gnu-nat.c: In function 'void i386_gnu_dr_set_addr_one(proc*, void*)': - ../../W._C._Handy/gdb/i386gnu-nat.c:340:31: error: invalid conversion from 'void*' to 'reg_addr*' [-fpermissive] - struct reg_addr *reg_addr = arg; - ^ - In file included from ../../W._C._Handy/gdb/gnu-nat.c:38:0: - /usr/include/hurd.h: In function 'int __hurd_fail(error_t)': - /usr/include/hurd.h:60:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - err = EIEIO; - ^ - /usr/include/hurd.h:64:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - err = ENOMEM; - ^ - /usr/include/hurd.h:68:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - err = EINVAL; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'natural_t* proc_get_state(proc*, int)': - ../../W._C._Handy/gdb/gnu-nat.c:372:48: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (thread_state_t) &proc->state, &state_size); - ^ - In file included from /usr/include/mach/mach_types.h:46:0, - from /usr/include/mach.h:28, - from ./nm.h:23, - from ../../W._C._Handy/gdb/defs.h:521, - from ../../W._C._Handy/gdb/gnu-nat.c:23: - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t proc_get_exception_port(proc*, mach_port_t*)': - ../../W._C._Handy/gdb/gnu-nat.c:394:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - return task_get_exception_port (proc->port, port); - ^ - In file included from /usr/include/mach/mach_types.h:48:0, - from /usr/include/mach.h:28, - from ./nm.h:23, - from ../../W._C._Handy/gdb/defs.h:521, - from ../../W._C._Handy/gdb/gnu-nat.c:23: - ../../W._C._Handy/gdb/gnu-nat.c:396:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - return thread_get_exception_port (proc->port, port); - ^ - In file included from /usr/include/mach/mach_types.h:46:0, - from /usr/include/mach.h:28, - from ./nm.h:23, - from ../../W._C._Handy/gdb/defs.h:521, - from ../../W._C._Handy/gdb/gnu-nat.c:23: - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t proc_set_exception_port(proc*, mach_port_t)': - ../../W._C._Handy/gdb/gnu-nat.c:405:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - return task_set_exception_port (proc->port, port); - ^ - In file included from /usr/include/mach/mach_types.h:48:0, - from /usr/include/mach.h:28, - from ./nm.h:23, - from ../../W._C._Handy/gdb/defs.h:521, - from ../../W._C._Handy/gdb/gnu-nat.c:23: - ../../W._C._Handy/gdb/gnu-nat.c:407:12: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - return thread_set_exception_port (proc->port, port); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void proc_steal_exc_port(proc*, mach_port_t)': - ../../W._C._Handy/gdb/gnu-nat.c:441:21: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void proc_restore_exc_port(proc*)': - ../../W._C._Handy/gdb/gnu-nat.c:484:21: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'proc* make_proc(inf*, mach_port_t, int)': - ../../W._C._Handy/gdb/gnu-nat.c:574:19: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - &prev_port); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_startup(inf*, int)': - ../../W._C._Handy/gdb/gnu-nat.c:724:49: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - MACH_PORT_RIGHT_RECEIVE, &inf->event_port); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_set_pid(inf*, pid_t)': - ../../W._C._Handy/gdb/gnu-nat.c:748:64: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = proc_pid2task (proc_server, pid, &task_port); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_procinfo(inf*)': - ../../W._C._Handy/gdb/gnu-nat.c:799:56: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (procinfo_t *) &pi, &pi_len, &noise, &noise_len); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_task_sc(inf*)': - ../../W._C._Handy/gdb/gnu-nat.c:829:53: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - (procinfo_t *) &pi, &pi_len, &noise, &noise_len); - ^ - In file included from /usr/include/hurd/userlink.h:27:0, - from /usr/include/hurd/port.h:25, - from /usr/include/hurd.h:41, - from ../../W._C._Handy/gdb/gnu-nat.c:38: - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_set_traced(inf*, int)': - ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:141:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - : EIEIO) - ^ - ../../W._C._Handy/gdb/gnu-nat.c:879:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, msg_set_init_int (msgport, refport, - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_validate_procs(inf*)': - ../../W._C._Handy/gdb/gnu-nat.c:1010:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = task_threads (task->port, &threads, &num_threads); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_signal(inf*, gdb_signal)': - ../../W._C._Handy/gdb/gnu-nat.c:1327:17: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1359:43: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - e->exception, e->code, e->subcode); - ^ - In file included from /usr/include/hurd/userlink.h:27:0, - from /usr/include/hurd/port.h:25, - from /usr/include/hurd.h:41, - from ../../W._C._Handy/gdb/gnu-nat.c:38: - ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' - INF_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' - INF_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1372:2: note: in expansion of macro 'INF_MSGPORT_RPC' - INF_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:69: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:127:3: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:138:8: note: in expansion of macro 'INF_MSGPORT_RPC' - __e = INF_MSGPORT_RPC (inf, rpc_expr); \ - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1395:2: note: in expansion of macro 'INF_RESUME_MSGPORT_RPC' - INF_RESUME_MSGPORT_RPC (inf, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1394:11: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - err = - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void inf_continue(inf*)': - ../../W._C._Handy/gdb/gnu-nat.c:1416:60: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - error_t err = proc_pid2proc (proc_server, inf->pid, &proc); - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1422:33: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - err = proc_mark_cont (proc); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'ptid_t gnu_wait(target_ops*, ptid_t, target_waitstatus*, int)': - ../../W._C._Handy/gdb/gnu-nat.c:1497:70: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - proc_wait_request (proc_server, inf->event_port, inf->pid, WUNTRACED); - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1521:42: error: invalid conversion from 'mach_msg_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_exception_raise_request(mach_port_t, mach_port_t, thread_t, task_t, int, int, int)': - ../../W._C._Handy/gdb/gnu-nat.c:1652:43: error: ambiguating new declaration of 'error_t S_exception_raise_request(mach_port_t, mach_port_t, thread_t, task_t, int, int, int)' - int exception, int code, int subcode) - ^ - In file included from ../../W._C._Handy/gdb/gnu-nat.c:66:0: - ./exc_request_S.h:19:15: note: old declaration 'kern_return_t S_exception_raise_request(mach_port_t, mach_port_t, mach_port_t, mach_port_t, integer_t, integer_t, integer_t)' - kern_return_t S_exception_raise_request - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1668:9: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - return 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1730:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - return 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t do_mach_notify_dead_name(mach_port_t, mach_port_t)': - ../../W._C._Handy/gdb/gnu-nat.c:1747:68: error: ambiguating new declaration of 'error_t do_mach_notify_dead_name(mach_port_t, mach_port_t)' - do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port) - ^ - In file included from ../../W._C._Handy/gdb/gnu-nat.c:67:0: - ./notify_S.h:78:15: note: old declaration 'kern_return_t do_mach_notify_dead_name(mach_port_t, mach_port_t)' - kern_return_t do_mach_notify_dead_name - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1784:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - return 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_proc_wait_reply(mach_port_t, error_t, int, int, rusage_t, pid_t)': - ../../W._C._Handy/gdb/gnu-nat.c:1859:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - return 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'error_t S_msg_sig_post_untraced_reply(mach_port_t, error_t)': - ../../W._C._Handy/gdb/gnu-nat.c:1952:10: error: invalid conversion from 'int' to 'error_t {aka __error_t_codes}' [-fpermissive] - return 0; - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'mach_port_msgcount_t port_msgs_queued(mach_port_t)': - ../../W._C._Handy/gdb/gnu-nat.c:1964:67: error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}' [-fpermissive] - mach_port_get_receive_status (mach_task_self (), port, &status); - ^ - ../../W._C._Handy/gdb/gnu-nat.c: In function 'void gnu_create_inferior(target_ops*, char*, char*, char**, int)': - ../../W._C._Handy/gdb/gnu-nat.c:2121:3: error: a function-definition is not allowed here before '{' token - { - ^ - ../../W._C._Handy/gdb/gnu-nat.c:3471:1: error: expected '}' at end of input - } - ^ - ../../W._C._Handy/gdb/gnu-nat.c: At global scope: - ../../W._C._Handy/gdb/gnu-nat.c:1227:1: warning: 'void inf_update_signal_thread(inf*)' defined but not used [-Wunused-function] - inf_update_signal_thread (struct inf *inf) - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1448:1: warning: 'ptid_t gnu_wait(target_ops*, ptid_t, target_waitstatus*, int)' defined but not used [-Wunused-function] - gnu_wait (struct target_ops *ops, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:1990:1: warning: 'void gnu_resume(target_ops*, ptid_t, int, gdb_signal)' defined but not used [-Wunused-function] - gnu_resume (struct target_ops *ops, - ^ - ../../W._C._Handy/gdb/gnu-nat.c:2067:1: warning: 'void gnu_kill_inferior(target_ops*)' defined but not used [-Wunused-function] - gnu_kill_inferior (struct target_ops *ops) - ^ - ../../W._C._Handy/gdb/gnu-nat.c:2082:1: warning: 'void gnu_mourn_inferior(target_ops*)' defined but not used [-Wunused-function] - gnu_mourn_inferior (struct target_ops *ops) - ^ - ../../W._C._Handy/gdb/gnu-nat.c:2094:1: warning: 'int inf_pick_first_thread()' defined but not used [-Wunused-function] - inf_pick_first_thread (void) - ^ - ../../W._C._Handy/gdb/gnu-nat.c:2113:1: warning: 'void gnu_create_inferior(target_ops*, char*, char*, char**, int)' defined but not used [-Wunused-function] - gnu_create_inferior (struct target_ops *ops, - ^ - - [[!message-id "87eg1z93za.fsf@euler.schwinge.homeip.net"]]. - * a932d108b10518994c873b38a363af9f21bc2e87..f245535cf583ae4ca13b10d47b3c7d3334593ece `gas/NEWS`: `Default to --enable-compressed-debug-sections=gas for @@ -698,11 +407,12 @@ Last reviewed up to Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece Here's a log of a binutils-gdb build run; this is from Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece (2016-09-05), plus `PATH_MAX` hard-coded in `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of -`thread_id_to_pid` in `gdb/gnu-nat.c`, run on kepler.SCHWINGE +`thread_id_to_pid` in `gdb/gnu-nat.c`, +and C++ compatibility changes for the x86 GNU/Hurd port, run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C - $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --enable-plugins --with-sysroot=/ SHELL=/bin/dash CC=gcc-6 CXX=g++-6 --disable-werror --disable-build-with-cxx 2>&1 | tee log_build + $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --enable-plugins --with-sysroot=/ SHELL=/bin/dash CC=gcc-6 CXX=g++-6 --disable-werror 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -713,12 +423,9 @@ harmonized. Debian GCC (which is used in the testsuite) likes to pass so we need to configure with support for plugins and sysroots. In the GDB build, there are compiler diagnostics reported in the MIG-generated stub files; thus no `-Werror` until that is resolved. -`--disable-build-with-cxx`, as the x86 GNU/Hurd GDB port is not ready. See -below. This needs to be addressed soon, as GDB will soon *require a C++ -compiler*, [[!message-id "ab08f2c8-3b52-3a7a-2236-89833bd09129@redhat.com"]]. This takes up around 1.7 GiB, and runs for [[19 min|performance#measure]] on -kepler.SCHWINGE and [[24 min|performance#measure]] on laplace.SCHWINGE. +kepler.SCHWINGE and [[30 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece -(2016-09-05). +Last reviewed up to Git commit 1a9ccd70f9a75dc6b48d340059f28ef3550c107b +(2016-11-23). * Globally @@ -405,8 +405,9 @@ Last reviewed up to Git commit f245535cf583ae4ca13b10d47b3c7d3334593ece # Build Here's a log of a binutils-gdb build run; this is from Git commit -f245535cf583ae4ca13b10d47b3c7d3334593ece (2016-09-05), plus `PATH_MAX` -hard-coded in `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of +1a9ccd70f9a75dc6b48d340059f28ef3550c107b (2016-11-23), +plus `PATH_MAX` hard-coded in `gdb/inferior.c` and `gdb/remote.c`, +and `global_thread_id_to_ptid` used instead of `thread_id_to_pid` in `gdb/gnu-nat.c`, and C++ compatibility changes for the x86 GNU/Hurd port, run on kepler.SCHWINGE and laplace.SCHWINGE. @@ -424,8 +425,8 @@ so we need to configure with support for plugins and sysroots. In the GDB build, there are compiler diagnostics reported in the MIG-generated stub files; thus no `-Werror` until that is resolved. -This takes up around 1.7 GiB, and runs for [[19 min|performance#measure]] on -kepler.SCHWINGE and [[30 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.8 GiB, and runs for [[22 min|performance#measure]] on +kepler.SCHWINGE and [[25 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit 1a9ccd70f9a75dc6b48d340059f28ef3550c107b +Last reviewed up to Git commit b593ecca856860a8b38deb808493bba4beef3aee (2016-11-23). * Globally @@ -405,7 +405,7 @@ Last reviewed up to Git commit 1a9ccd70f9a75dc6b48d340059f28ef3550c107b # Build Here's a log of a binutils-gdb build run; this is from Git commit -1a9ccd70f9a75dc6b48d340059f28ef3550c107b (2016-11-23), +b593ecca856860a8b38deb808493bba4beef3aee (2016-11-23), plus `PATH_MAX` hard-coded in `gdb/inferior.c` and `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of `thread_id_to_pid` in `gdb/gnu-nat.c`, @@ -425,7 +425,7 @@ so we need to configure with support for plugins and sysroots. In the GDB build, there are compiler diagnostics reported in the MIG-generated stub files; thus no `-Werror` until that is resolved. -This takes up around 1.8 GiB, and runs for [[22 min|performance#measure]] on +This takes up around 1.8 GiB, and runs for [[24 min|performance#measure]] on kepler.SCHWINGE and [[25 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit b593ecca856860a8b38deb808493bba4beef3aee +Last reviewed up to Git commit 03b62bbbce3dc5f15131d9e78f77d035cd1cffb3 (2016-11-23). * Globally @@ -405,7 +405,7 @@ Last reviewed up to Git commit b593ecca856860a8b38deb808493bba4beef3aee # Build Here's a log of a binutils-gdb build run; this is from Git commit -b593ecca856860a8b38deb808493bba4beef3aee (2016-11-23), +03b62bbbce3dc5f15131d9e78f77d035cd1cffb3 (2016-11-23), plus `PATH_MAX` hard-coded in `gdb/inferior.c` and `gdb/remote.c`, and `global_thread_id_to_ptid` used instead of `thread_id_to_pid` in `gdb/gnu-nat.c`, @@ -425,7 +425,7 @@ so we need to configure with support for plugins and sysroots. In the GDB build, there are compiler diagnostics reported in the MIG-generated stub files; thus no `-Werror` until that is resolved. -This takes up around 1.8 GiB, and runs for [[24 min|performance#measure]] on +This takes up around 1.8 GiB, and runs for [[25 min|performance#measure]] on kepler.SCHWINGE and [[25 min|performance#measure]] on laplace.SCHWINGE.