From d583f0f96691a3edcddef92a6066ee9f191610d1 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 25 Jul 2014 15:19:54 +0200 Subject: open_issues/performance: Configuration required for huge pages and CPU sets. --- open_issues/performance.mdwn | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'open_issues') diff --git a/open_issues/performance.mdwn b/open_issues/performance.mdwn index 64b245f2..ab08dd11 100644 --- a/open_issues/performance.mdwn +++ b/open_issues/performance.mdwn @@ -241,13 +241,26 @@ call|/glibc/fork]]'s case. i especially like how general it is -# Measurement +# Measure + +On some pages, we're filing information about performace measurements. + + +## kepler.SCHWINGE + +Debian GNU/Linux, x86. Running as a Xen domU, the system is not reserved +exclusively for measurement purposes, so it's a best-effort service. + + +## laplace.SCHWINGE + +Debian GNU/Hurd, x86. Running as a QEMU/KVM instance, the system is not +reserved exclusively for measurement purposes, so it's a best-effort service. -## coulomb ### [[!message-id "87wqghouoc.fsf@schwinge.name"]] -## IRC, freenode, #hurd, 2014-02-27 +### IRC, freenode, #hurd, 2014-02-27 tschwinge: about your concern with regard to performance measurements, you could run kvm with hugetlbfs and cpuset @@ -257,4 +270,10 @@ call|/glibc/fork]]'s case. hugetlbs reduces the overhead of page faults, and also implies locked memory while cpuset isolates the vm from global scheduling hugetlbfs* - Thanks, will look into that. + + +### 2014-07-25, tschwinge + +Support for [huge pages](https://wiki.debian.org/Hugepages) as well as [CPU +sets](https://code.google.com/p/cpuset/) requires special setup; not doing that +at the moment. -- cgit v1.2.3 From d957a9cc3f957229c15a91a5d9eccc622cad7d19 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 28 Jul 2014 08:08:12 +0200 Subject: open_issues/binutils: binutils-gdb: Re-run on the new laplace.SCHWINGE. --- open_issues/binutils.mdwn | 49 +++++++++++++++++++++++++++++++++++++---------- toolchain/logs | 2 +- 2 files changed, 40 insertions(+), 11 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 306ba38a..c56926c6 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -173,7 +173,7 @@ c2853f3d99797a321c37948297441ca6021f719a (2014-02-14) plus [[!message-id "8761ofv62k.fsf@kepler.schwinge.homeip.net"]], [[!message-id "1391759958-972-2-git-send-email-yao@codesourcery.com"]], [[!message-id "1391759958-972-3-git-send-email-yao@codesourcery.com"]], run on -kepler.SCHWINGE and coulomb.SCHWINGE. +kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.8 CXX=g++-4.8 --disable-werror 2>&1 | tee log_build @@ -189,8 +189,8 @@ dereferencing type-punned pointer will break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). -This takes up around 1.3 GiB, and needs roughly 17 min on kepler.SCHWINGE and -79 min on coulomb.SCHWINGE. +This takes up around 1.3 GiB, and runs for [[20 min|performance#measure]] on +kepler.SCHWINGE and [[22 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit c2853f3d99797a321c37948297441ca6021f719a -(2014-02-14). +Last reviewed up to Git commit a01cbb490b34eda832c0215b8447e6aef68b0278 +(2014-09-11). * Globally @@ -119,6 +119,35 @@ Last reviewed up to Git commit c2853f3d99797a321c37948297441ca6021f719a * In `gdb/gnu-nat.c:gnu_wait`, we don't implement `gdb/target/wait.h:TARGET_WNOHANG`. What is this needed for? + * *complete errno.h* + + diff --git toolchain/logs/binutils-gdb/kepler.SCHWINGE/log_build_ toolchain/logs/binutils-gdb/laplace.SCHWINGE/log_build_ + [...] + -checking for complete errno.h... yes + +checking for complete errno.h... no + +checking for EMULTIHOP value... yes + +checking for ENOLINK value... yes + +checking for EOVERFLOW value... yes + [...] + +rm -f errno.h-t errno.h && \ + +{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + + -e 's|@''INCLUDE_NEXT''@|include_next|g' \ + + -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ + + -e 's|@''PRAGMA_COLUMNS''@||g' \ + + -e 's|@''NEXT_ERRNO_H''@||g' \ + + -e 's|@''EMULTIHOP_HIDDEN''@|0|g' \ + + -e 's|@''EMULTIHOP_VALUE''@||g' \ + + -e 's|@''ENOLINK_HIDDEN''@|0|g' \ + + -e 's|@''ENOLINK_VALUE''@||g' \ + + -e 's|@''EOVERFLOW_HIDDEN''@|0|g' \ + + -e 's|@''EOVERFLOW_VALUE''@||g' \ + + < ../../../../W._C._Handy/gdb/gnulib/import/errno.in.h; \ + +} > errno.h-t && \ + +mv errno.h-t errno.h + + [[!taglink open_issue_glibc]]? + * `libdecnumber/` Should/can probably align to GNU/Linux. @@ -167,13 +196,8 @@ Last reviewed up to Git commit c2853f3d99797a321c37948297441ca6021f719a # Build Here's a log of a binutils-gdb build run; this is from Git commit -c2853f3d99797a321c37948297441ca6021f719a (2014-02-14) plus -[[!message-id "87vbxxhww4.fsf@kepler.schwinge.homeip.net"]], -[[!message-id "8738kyi30l.fsf@kepler.schwinge.homeip.net"]], -[[!message-id "8761ofv62k.fsf@kepler.schwinge.homeip.net"]], -[[!message-id "1391759958-972-2-git-send-email-yao@codesourcery.com"]], -[[!message-id "1391759958-972-3-git-send-email-yao@codesourcery.com"]], run on -kepler.SCHWINGE and laplace.SCHWINGE. +a01cbb490b34eda832c0215b8447e6aef68b0278 (2014-09-11), run on kepler.SCHWINGE +and laplace.SCHWINGE. $ export LC_ALL=C $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.8 CXX=g++-4.8 --disable-werror 2>&1 | tee log_build @@ -308,7 +332,7 @@ kepler.SCHWINGE and [[2 min|performance#measure]] on laplace.SCHWINGE. $ make -k check 2>&1 | tee log_test [...] -This runs for [[25 min|performance#measure]] on kepler.SCHWINGE and [[60 +This runs for [[29 min|performance#measure]] on kepler.SCHWINGE and [[67 min|performance#measure]] on laplace.SCHWINGE. When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite @@ -316,8 +340,8 @@ the `tee` process does not terminate if there are still stray leftover processes that [have their stdout/stderr open](http://sourceware.org/ml/gdb-patches/2012-10/msg00489.html). `kill`ing these (`SIGKILL` may be needed), makes the `tee` process terminate, too. On -GNU/Hurd, these generally are `gdb.multi/watchpoint-multi`, and an unknown -(`?`) GDB one ("57 PIDs before" `expect [...] gdb.cp`). +GNU/Hurd, these generally are `gdb.base/sigaltstack`, `gdb.base/siginfo`, +`gdb.base/watch-read`, `gdb.multi/watchpoint-multi`. ## Analysis @@ -388,6 +412,8 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting * Disabled + * `gdb.base/attach-wait-input.exp` + * `gdb.base/interrupt.exp` PASS: gdb.base/interrupt.exp: child process is alive @@ -562,6 +588,12 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting From `send signal TSTP` on, all FAIL running into timeouts. + * `gdb.base/watch-vfork.exp` + + * `gdb.base/watchpoint-hw-hit-once.exp` + + * `gdb.base/watchpoint-hw.exp` + * `gdb.python/py-inferior.exp` (mostly disabled) Running ../../../Ferry_Tagscherer/gdb/testsuite/gdb.python/py-inferior.exp ... @@ -606,6 +638,8 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting At this point, the system hangs; no new processes can be spawned, so perhaps an issue with the exec server. + * `gdb.threads/hand-call-in-threads.exp` + * `gdb.threads/manythreads.exp` [[!taglink open_issue_libpthread]]. Perhaps fails due to pthread @@ -615,6 +649,14 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting manythreads: ../libpthread/sysdeps/mach/pt-thread-halt.c:51: __pthread_thread_halt: Unexpected error: (ipc/rcv) invalid name. Killed + * `gdb.threads/signal-delivered-right-thread.exp` + + * `gdb.threads/step-over-trips-on-watchpoint.exp` + + * `gdb.threads/thread-find.exp` + + * `gdb.threads/watchpoint-fork.exp` + * Linux syscall usage, `` * `UNSUPPORTED: gdb.threads/ia64-sigill.exp: Couldn't compile ../../../master/gdb/testsuite/gdb.threads/ia64-sigill.c: unrecognized error` diff --git a/toolchain/logs b/toolchain/logs index a45cffd4..85758d1c 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit a45cffd44759a294dd6b39fb8766831eed5eebce +Subproject commit 85758d1cedd4345ebe9ff1e3df5eab9513fd040e -- cgit v1.2.3 From 912131d8271bc6853b64f4b37c508bbbb5276e8e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 16 Sep 2014 09:47:12 +0200 Subject: open_issues/libpthread_assertion_thread_prevp: Another one. --- open_issues/libpthread_assertion_thread_prevp.mdwn | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'open_issues') diff --git a/open_issues/libpthread_assertion_thread_prevp.mdwn b/open_issues/libpthread_assertion_thread_prevp.mdwn index f93f07d6..85ac58d4 100644 --- a/open_issues/libpthread_assertion_thread_prevp.mdwn +++ b/open_issues/libpthread_assertion_thread_prevp.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2011, 2013 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2011, 2013, 2014 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -107,3 +108,13 @@ failed"]] so i guess something is wrong with thread recycling but i wanted to completely rewrite that part with the new kernel call i asked bddebian to work on :) + + +## 2014-09-15 + +During a run of the GDB testsuite, [[I|tschwinge]] hit `C-c`, and then saw: + + [...] + Running ../../../W._C._Handy/gdb/testsuite/gdb.base/shreloc.exp ... + ^Cexpect: ./pthread/pt-internal.h:131: __pthread_enqueue: Assertion `thread->prevp == 0' failed. + Aborted -- cgit v1.2.3 From 941044997b795869b2a2aed255446d115d45d78e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 16 Sep 2014 12:45:04 +0200 Subject: open_issues/binutils: binutils-gdb: Add hardware watchpoint support for x86 GNU Hurd. --- open_issues/binutils.mdwn | 101 ++++++++++++++++++++++++++++++++++++---------- toolchain/logs | 2 +- 2 files changed, 80 insertions(+), 23 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 7e9cb831..7b7005e7 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -148,6 +148,50 @@ Last reviewed up to Git commit a01cbb490b34eda832c0215b8447e6aef68b0278 [[!taglink open_issue_glibc]]? + * Watchpoints + + * Unresolved issues w.r.t. watchpoint usage in context of multiple + threads, and `fork`/`vfork`. The Linux port has a bunch of + special-case code. + + * We don't have anything corresponding to Linux' + `linux_nat_set_forget_process`, `x86_forget_process`, or Linux' + whole `linux-fork.c` machinery. Likewise for + `linux_nat_set_prepare_to_resume`, `x86_linux_prepare_to_resume`, + which the Linux port uses to actually set the debug registers. + Likewise for `linux_nat_set_new_thread`, `x86_linux_new_thread`, + and `linux_nat_set_new_fork`, `x86_linux_new_fork`. + + * Look into `*_cleanup_dregs`, `*_post_startup_inferior`. Commits + 53a5351d907ef4eacd463a48a86d35b2b70b9f60, + 52b9821179d84d61852ac2ae2bd16fbb56ffe277, + 9742079a314711c13d269e9e583b7b82dc42f1a6, + e24d4c64ff2e89327ba84fdcc77cc557791eb3cd, + fa4ba8da6c28c972dd1b6b9971e29b51aabaafcc, + 9b4f1ba7ede77d776fabb9642cbeef5091e38e1d, + 4de4c07c6b48659ae212352236be9413c853a23c, + 4056d25828218621e7276a3a0c0567cac892ae84, + 10d6c8cd3f92fadf295eb3c91d550626f6080f79, + 4105de343e714e0096723905ada442f1524776a6, + c5af0dad33ff96dbb404710539f01b011cff0453, + 9bb9e8ade770027f5cced2856574e2d317b15254, + 1ced966e3458bf3db742913f4d0a55549824e298, + 4403d8e9b35649c5b24f65c0ec0decc3839e1164, + 26cb8b7c1a23586ea311d7480f882e2883f6f1f5. + + * [[!message-id "201112051601.59664.pedro@codesourcery.com"]]. + + * `I386_WATCHPOINTS_IN_TARGET_VECTOR` + + * `prepare_to_resume` + + * `new_fork` + + * `forget_process` + + * `dr_status_mirror` is not really used anywhere. Get rid of it; or, + update it everytime the real value is read from the kernel? + * `libdecnumber/` Should/can probably align to GNU/Linux. @@ -196,8 +240,10 @@ Last reviewed up to Git commit a01cbb490b34eda832c0215b8447e6aef68b0278 # Build Here's a log of a binutils-gdb build run; this is from Git commit -a01cbb490b34eda832c0215b8447e6aef68b0278 (2014-09-11), run on kepler.SCHWINGE -and laplace.SCHWINGE. +a01cbb490b34eda832c0215b8447e6aef68b0278 (2014-09-11) plus [[!message-id +"20140912182911.GF3202@type.youpi.perso.aquilenet.fr"]], run on kepler.SCHWINGE +and laplace.SCHWINGE (with [[!message-id "87iokondoc.fsf@schwinge.name"]] +applied). $ export LC_ALL=C $ ../W._C._Handy/configure --prefix="$PWD".install --enable-gold --with-sysroot=/ SHELL=/bin/dash CC=gcc-4.8 CXX=g++-4.8 --disable-werror 2>&1 | tee log_build @@ -214,7 +260,7 @@ MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). This takes up around 1.3 GiB, and runs for [[20 min|performance#measure]] on -kepler.SCHWINGE and [[24 min|performance#measure]] on laplace.SCHWINGE. +kepler.SCHWINGE and [[22 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit a01cbb490b34eda832c0215b8447e6aef68b0278 -(2014-09-11). +Last reviewed up to Git commit 05db5edd7923711a20c6225ea8e15f36e819d140 +(2014-09-16). * Globally @@ -240,8 +240,7 @@ Last reviewed up to Git commit a01cbb490b34eda832c0215b8447e6aef68b0278 # Build Here's a log of a binutils-gdb build run; this is from Git commit -a01cbb490b34eda832c0215b8447e6aef68b0278 (2014-09-11) plus [[!message-id -"20140912182911.GF3202@type.youpi.perso.aquilenet.fr"]], run on kepler.SCHWINGE +05db5edd7923711a20c6225ea8e15f36e819d140 (2014-09-16), run on kepler.SCHWINGE and laplace.SCHWINGE (with [[!message-id "87iokondoc.fsf@schwinge.name"]] applied). @@ -259,8 +258,8 @@ dereferencing type-punned pointer will break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). -This takes up around 1.3 GiB, and runs for [[20 min|performance#measure]] on -kepler.SCHWINGE and [[22 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.3 GiB, and runs for [[21 min|performance#measure]] on +kepler.SCHWINGE and [[24 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to the 5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08) -sources, and for `libatomic_ops` to the -6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15) sources. +Last reviewed up to Git commit 5f492b98dd131bdd6c67eb56c31024420c1e7dab +(2012-06-08), and for `libatomic_ops` to Git commit +6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15). * `configure.ac` @@ -283,10 +283,10 @@ sources, and for `libatomic_ops` to the # Build -Here's a log of a binutils build run; this is from the -5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08) sources, and for -`libatomic_ops` for the 6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15) -sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. +Here's a log of a boehm-gc build run; this is from Git commit +5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08), and for `libatomic_ops` +Git commit 6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15), run on +kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && ln -sfn ../libatomic_ops/master libatomic_ops) @@ -299,20 +299,18 @@ sources, run on kepler.SCHWINGE and coulomb.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. Using bash instead of dash as otherwise libtool explodes. -This takes up around X MiB, and needs roughly X min on kepler.SCHWINGE and -X min on coulomb.SCHWINGE. +This takes up around TODO GiB, and runs for [[TODO min|performance#measure]] on +kepler.SCHWINGE and [[TODO min|performance#measure]] on laplace.SCHWINGE. ## Analysis - $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_build* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_build - $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_build* | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_build - $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_build.sed < toolchain/logs/boehm-gc/linux/log_build) <(sed -f toolchain/logs/boehm-gc/hurd/log_build.sed < toolchain/logs/boehm-gc/hurd/log_build) > toolchain/logs/boehm-gc/log_build.diff + $ toolchain/logs/process boehm-gc build * only GNU/Linux: `configure: WARNING: "Explicit GC_INIT() calls may be required."` @@ -326,32 +324,29 @@ X min on coulomb.SCHWINGE. $ make install 2>&1 | tee log_install [...] -This takes up around X MiB, and needs roughly X min on kepler.SCHWINGE and X -min on coulomb.SCHWINGE. +This takes up around TODO MiB, and runs for [[TODO min|performance#measure]] on +kepler.SCHWINGE and [[TODO min|performance#measure]] on laplace.SCHWINGE. ## Analysis - $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_install | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_install - $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_install | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_install - $ diff -wu toolchain/logs/boehm-gc/linux/log_install toolchain/logs/boehm-gc/hurd/log_install > toolchain/logs/boehm-gc/log_install.diff + $ toolchain/logs/process boehm-gc install # Testsuite - $ make -k check + $ make -k check 2>&1 | tee log_test [...] - $ (cd libatomic_ops/ && make -k check) + $ (cd libatomic_ops/ && make -k check) 2>&1 | tee log_test_ [...] -This needs roughly X min on kepler.SCHWINGE and X min on coulomb.SCHWINGE. +This runs for [[TODO min|performance#measure]] on kepler.SCHWINGE and [[TODO +min|performance#measure]] on laplace.SCHWINGE. ## Analysis - $ ssh kepler.SCHWINGE 'cd tmp/source/boehm-gc/ && cat master.build/log_check* | sed -e "s%\(/media/data\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/linux/log_check - $ ssh coulomb.SCHWINGE 'cd tmp/boehm-gc/ && cat master.build/log_check* | sed -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > toolchain/logs/boehm-gc/hurd/log_check - $ diff -wu <(sed -f toolchain/logs/boehm-gc/linux/log_check.sed < toolchain/logs/boehm-gc/linux/log_check) <(sed -f toolchain/logs/boehm-gc/hurd/log_check.sed < toolchain/logs/boehm-gc/hurd/log_check) > toolchain/logs/boehm-gc/log_check.diff + $ toolchain/logs/process boehm-gc test There are different configurations possible, but in general, the testsuite restults of GNU/Linux and GNU/Hurd look very similar. diff --git a/toolchain/logs b/toolchain/logs index e19bcbd6..a4eb9952 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit e19bcbd6f879d048e2754117f7fbbe5e7f1162a5 +Subproject commit a4eb9952a31c503cb27d6d9c37a57b5b8ec5fc62 -- cgit v1.2.3 From 48bfaa670242a1d51fa263d677091d1fa7c2aa2c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 23 Sep 2014 10:36:33 +0200 Subject: open_issues/boehm_gc: ad2be4bcad9c1de18feef7f8d7ebb98d680f064f (2014-09-20) plus [[!message-id "87ioke3iun.fsf@kepler.schwinge.homeip.net"]], ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13) --- open_issues/boehm_gc.mdwn | 116 +++++++++++++++++++++++++++++++++++++++++++--- toolchain/logs | 2 +- 2 files changed, 110 insertions(+), 8 deletions(-) (limited to 'open_issues') diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index 09aff765..bba0bc31 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -27,15 +27,15 @@ committed upstream should very like also be made there. -Last reviewed up to Git commit 5f492b98dd131bdd6c67eb56c31024420c1e7dab -(2012-06-08), and for `libatomic_ops` to Git commit -6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15). +Last reviewed up to Git commit ad2be4bcad9c1de18feef7f8d7ebb98d680f064f +(2014-09-20), and for `libatomic_ops` to Git commit +ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13). * `configure.ac` @@ -280,12 +280,111 @@ Last reviewed up to Git commit 5f492b98dd131bdd6c67eb56c31024420c1e7dab * Check `include/private/thread_local_alloc.h` re `USE_COMPILER_TLS`/`USE_PTHREAD_SPECIFIC`. + * TODO: + + * `diff --git ./include/private/gcconfig.h ./include/private/gcconfig.h` + + {+#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX5) \+} + {+ || ((defined(USE_MMAP) || defined(USE_MUNMAP)) && !defined(USE_WINALLOC))+} + {+# define MMAP_SUPPORTED+} + {+#endif+} + + * `diff --git ./include/private/gcconfig.h ./include/private/gcconfig.h` + + #if !defined(CAN_HANDLE_FORK) && !defined(NO_HANDLE_FORK) \ + && [-((defined(GC_PTHREADS)-]{+!defined(HAVE_NO_FORK) \+} + && [-!defined(HURD)-]{+((defined(GC_PTHREADS)+} && !defined(NACL) \ + &&[-!defined(PLATFORM_ANDROID) &&-] !defined(GC_WIN32_PTHREADS)[-\-] && !defined(USE_WINALLOC)) \ + || (defined(DARWIN) && defined(MPROTECT_VDB)) || defined(HANDLE_FORK)) + /* Attempts (where supported and requested) to make GC_malloc work in */ + /* a child process fork'ed from a multi-threaded parent. */ + # define CAN_HANDLE_FORK + #endif + + {+#if defined(CAN_HANDLE_FORK) && !defined(CAN_CALL_ATFORK) \+} + {+ && !defined(HURD) && !defined(PLATFORM_ANDROID)+} + {+ /* Have working pthread_atfork(). */+} + {+# define CAN_CALL_ATFORK+} + {+#endif+} + + * `diff --git ./include/private/gcconfig.h ./include/private/gcconfig.h` + + {+#if (defined(FREEBSD) || (defined(DARWIN) && !defined(_POSIX_C_SOURCE)) \+} + {+ || (defined(SOLARIS) && (!defined(_XOPEN_SOURCE) \+} + {+ || defined(__EXTENSIONS__))) \+} + {+ || defined(LINUX)) && !defined(HAVE_DLADDR)+} + {+# define HAVE_DLADDR+} + {+#endif+} + + * `diff --git ./os_dep.c ./os_dep.c` + + @@ -3038,9 +3005,11 @@ GC_API GC_push_other_roots_proc GC_CALL GC_get_push_other_roots(void) + /* Also old MSWIN32 ACCESS_VIOLATION filter */ + # if !defined(MSWIN32) && !defined(MSWINCE) + STATIC SIG_HNDLR_PTR GC_old_bus_handler = 0; + {+# if defined(FREEBSD) || defined(HURD) || defined(HPUX)+} + STATIC GC_bool GC_old_bus_handler_used_si = FALSE; + {+# endif+} + STATIC GC_bool GC_old_segv_handler_used_si = FALSE; + + * `diff --git ./os_dep.c ./os_dep.c` + + @@ -3192,20 +3169,22 @@ GC_API GC_push_other_roots_proc GC_CALL GC_get_push_other_roots(void) + # else + GC_bool used_si; + + {+# if defined(FREEBSD) || defined(HURD) || defined(HPUX)+} + if (sig == [-SIGSEGV) {-] + [- old_handler = GC_old_segv_handler;-] + [- used_si = GC_old_segv_handler_used_si;-] + [- } else-]{+SIGBUS)+} { + old_handler = GC_old_bus_handler; + used_si = GC_old_bus_handler_used_si; + {+} else+} + {+# endif+} + {+ /* else */ {+} + {+ old_handler = GC_old_segv_handler;+} + {+ used_si = GC_old_segv_handler_used_si;+} + } + # endif + + * `diff --git ./os_dep.c ./os_dep.c` + + # if defined(HPUX) || defined(LINUX) || defined(HURD) \ + || (defined(FREEBSD) && defined(SUNOS5SIGS)) + sigaction(SIGBUS, &act, &oldact); + if [-(oldact.sa_flags-]{+((oldact.sa_flags+} & SA_SIGINFO) {+!= 0)+} { + GC_old_bus_handler = oldact.sa_sigaction; + {+# if !defined(LINUX)+} + GC_old_bus_handler_used_si = TRUE; + {+# endif+} + } else { + GC_old_bus_handler = (SIG_HNDLR_PTR)oldact.sa_handler; + {+# if !defined(LINUX)+} + GC_old_bus_handler_used_si = FALSE; + {+# endif+} + } + if (GC_old_bus_handler == (SIG_HNDLR_PTR)SIG_IGN) { + [-if (GC_print_stats)-] + [- GC_err_printf("Previously-]{+WARN("Previously+} ignored bus [-error!?\n");-]{+error!?\n", 0);+} + {+# if !defined(LINUX)+} + GC_old_bus_handler = (SIG_HNDLR_PTR)SIG_DFL; + {+# else+} + {+ /* GC_old_bus_handler is not used by GC_write_fault_handler. */+} + {+# endif+} + } {+else+} if (GC_old_bus_handler != (SIG_HNDLR_PTR)SIG_DFL) { + [-if (GC_print_stats == VERBOSE)-] + [- GC_log_printf("Replaced-]{+GC_VERBOSE_LOG_PRINTF("Replaced+} other SIGBUS handler\n"); + } + # endif /* HPUX || LINUX || HURD || (FREEBSD && SUNOS5SIGS) */ + # Build Here's a log of a boehm-gc build run; this is from Git commit -5f492b98dd131bdd6c67eb56c31024420c1e7dab (2012-06-08), and for `libatomic_ops` -Git commit 6a0afde033f105c6320f1409162e3765a1395bfd (2012-05-15), run on +ad2be4bcad9c1de18feef7f8d7ebb98d680f064f (2014-09-20) plus [[!message-id +"87ioke3iun.fsf@kepler.schwinge.homeip.net"]], and for `libatomic_ops` to Git +commit ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13), run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C @@ -308,6 +407,7 @@ kepler.SCHWINGE and [[TODO min|performance#measure]] on laplace.SCHWINGE. --> + ## Analysis $ toolchain/logs/process boehm-gc build @@ -369,6 +469,8 @@ restults of GNU/Linux and GNU/Hurd look very similar. * + * [[!wikipedia Boehm_garbage_collector]] + ## IRC, OFTC, #debian-hurd, 2012-02-05 diff --git a/toolchain/logs b/toolchain/logs index a4eb9952..4c6dcdd1 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit a4eb9952a31c503cb27d6d9c37a57b5b8ec5fc62 +Subproject commit 4c6dcdd107f632da81b619d1cab6cba6b8e22922 -- cgit v1.2.3 From f40d8cc838d69217b57f979d93bf78e3a79e934d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 23 Sep 2014 10:48:57 +0200 Subject: open_issues/boehm_gc: GCC 4.9. --- open_issues/boehm_gc.mdwn | 2 +- toolchain/logs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'open_issues') diff --git a/open_issues/boehm_gc.mdwn b/open_issues/boehm_gc.mdwn index bba0bc31..c66423c3 100644 --- a/open_issues/boehm_gc.mdwn +++ b/open_issues/boehm_gc.mdwn @@ -390,7 +390,7 @@ kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && ln -sfn ../libatomic_ops/master libatomic_ops) $ (cd ../master/ && autoreconf -vfi) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.6 CXX=g++-4.6 --enable-cplusplus --enable-gc-debug --enable-gc-assertions --enable-assertions 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/bash CC=gcc-4.9 CXX=g++-4.9 --enable-cplusplus --enable-gc-debug --enable-gc-assertions --enable-assertions 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] diff --git a/toolchain/logs b/toolchain/logs index 4c6dcdd1..04839cc7 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 4c6dcdd107f632da81b619d1cab6cba6b8e22922 +Subproject commit 04839cc75bc1a75cdd8b155275d00e2a296432b6 -- cgit v1.2.3 From 44c2ce84e01c82f1a29f610167fe793796ffd48d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 29 Sep 2014 10:49:29 +0200 Subject: open_issues/gcc: f91948d1bd857c81bb2cea688457b84fa3ce6b84 (2014-09-26; d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 (2014-09-26)), GCC 4.9. --- open_issues/gcc.mdwn | 321 ++++++++++++++++++++++------------------ open_issues/gcc/libmudflap.mdwn | 74 --------- toolchain/logs | 2 +- 3 files changed, 178 insertions(+), 219 deletions(-) delete mode 100644 open_issues/gcc/libmudflap.mdwn (limited to 'open_issues') diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn index 45590928..57de9a6d 100644 --- a/open_issues/gcc.mdwn +++ b/open_issues/gcc.mdwn @@ -31,14 +31,14 @@ example. Especially all the compiler magic is all the same. -Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 -(2013-06-06) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 +(2014-09-26) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -61,7 +61,8 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 rename to `gnu-user` to reflect this? TODO. * `gcc/acinclude.m4`:`gcc_GAS_FLAGS`: always pass `--32` to assembler for - x86 Linux. (Why?) + x86 Linux. Probably we should just do the same, see `*-*-linux*` + comment in [[!message-id "87zjrjcasc.fsf@schwinge.name"]]. * `lib-prefix.m4` (present twice in GCC sources) contains one remaining `linux`-only case. @@ -277,12 +278,17 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 * `libgcc` - TODO: - * `config/t-linux` * `config/i386/t-linux` + + TODO, rename to `t-gnu-user`. + * `config/i386/linux-unwind.h` + TODO, probably needs porting, if we need this. + [[!GCC_PR 57851 desc="[patch] unwinding via signal trampoline for + kfreebsd*-gnu"]]. + * `libitm` TODO: @@ -299,10 +305,33 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 * Eventually: get rid of this special-casing. [[!message-id "gckk1s$e0b$1@ger.gmane.org"]]. - * [[`libmudflap`|libmudflap]]. - * [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) + #define TARGET_CAN_SPLIT_STACK + #define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30 + + libgcc/config/i386/morestack.S + libgcc/config/i386/t-stack-i386 + libgcc/config/t-stack + libgcc/generic-morestack-thread.c + libgcc/generic-morestack.c + libgcc/generic-morestack.h + libgcc/config/i386/morestack.S: cmpl %gs:0x30,%eax # See if we have enough space. + libgcc/config/i386/morestack.S: # gcc/config/i386/linux.h. + libgcc/config/i386/morestack.S: movl %eax,%gs:0x30 # Save the new stack boundary. + libgcc/config/i386/morestack.S: movl %eax,%gs:0x30 # Save the new stack boundary. + libgcc/config/i386/morestack.S: movl %ecx,%gs:0x30 # Save new stack boundary. + libgcc/config/i386/morestack.S: # gcc/config/i386/linux64.h. + libgcc/config/i386/morestack.S: movl %eax,%gs:0x30 + libgcc/config/i386/morestack.S: movl %gs:0x30,%eax + libgcc/config/i386/morestack.S: movl %eax,%gs:0x30 + libgcc/generic-morestack-thread.c: can build glibc. */ + libgcc/generic-morestack-thread.c: not be necessary if glibc supports -fsplit-stack directly. */ + libgcc/generic-morestack.c: can build glibc. */ + libgcc/generic-morestack.c: since stack splitting only works on GNU/Linux anyhow. */ + libgcc/generic-morestack.c:#if defined(__GLIBC__) && defined(__linux__) + libgcc/generic-morestack.c: /* In glibc, the first two real time signals are used by the NPTL + IRC, freenode, #hurd, 2014-01-10: Hi, I assume gcc -fsplit-stack is not yet supported? @@ -362,8 +391,7 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 * Might `-fsplit-stack` be useful for us with respect to our [[multithreaded|multithreading]] libraries? - * `gcc/ada`, `gcc/testsuite/ada`, `gcc/testsuite/gnat.dg`, `gnattools`, - `libada` (not reviewed) + * `gcc/ada` (not all reviewed) * [[Ada (GNAT)|GNAT]] support is work in progress. @@ -416,8 +444,6 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 commit a204f0622242865ffea889bd698bc7c7bd236bd1), commit 05c1aa95e6c37b3b281d749c76c673392941a031. - * Check before/after Joseph changes. (Should be fine.) - * 34618b3190c110b8926cc2b1db4b4eac95451995 »config-list.mk« What's this used for? (Check ML.) Ask to include i686-pc-gnu (once it is @@ -599,8 +625,131 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 A lot of Linux-specific things. + * 30f690e026ecdf99c68e777a48562b58afe37f43 `TARGET_LIBC_HAS_FUNCTION`. Where + is `targetm` set? All TARGET_C99_FUNCTIONS and TARGET_HAS_SINCOS gone? + + * `libvtv` + + * Disabled in `configure.tgt`. + + * `libvtv/vtv_rts.cc`: `if (strcmp (info->dlpi_name, "linux-vdso.so.1") + == 0)` -- not a problem for us, but... + + * `libvtv/vtv_rts.cc`: `/proc/self/exe` usage, `PATH_MAX`. + + * ./libgomp/testsuite/libgomp.c/affinity-1.c Linux usage + * `libcilkrts` + Disabled for Hurd. + + libcilkrts/Makefile.am: + + +# If we're building on Linux, use the Linux version script + +if LINUX_LINKER_SCRIPT + + libcilkrts_la_LDFLAGS += -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver + +endif + + libcilkrts/configure.ac: + + +# We have linker scripts for appropriate operating systems + +linux_linker_script=no + +case "${host}" in + + *-*-linux*) + + linux_linker_script=yes + + ;; + +esac + +AM_CONDITIONAL(LINUX_LINKER_SCRIPT, test "$linux_linker_script" = "yes") + + libcilkrts/runtime/cilk_malloc.c: + + +#if defined _WIN32 || defined _WIN64 || defined __linux__ + +#include + +#define HAS_MEMALIGN 1 + +#endif + + libcilkrts/runtime/config/x86/cilk-abi-vla.c: + + +#if defined(__x86_64) + + // For Intel64 linux & MACH ABI, all the parameters were passed in + + // register, so top of the stack frame above the return address + + // is just the size of the return address plus + + // distance_from_sp_to_alloca_area on the chance that the alloca + + // area isn't at the very bottom of the calling functions stack. + +#elif defined(__MACH__) + + // For ia32 MACH, parameter size is always a mutliple of 16 + + // bytes to keep the stack 16 byte aligned. So we need to round + + // number of parameters up to multiple of 4. + + param_size = 8 * sizeof(char *); + +#else + + // For both windows Intel64 ABI, and the IA32 windows and + + // linux ABIs, space is reserved on the stack for all these + + // parameters. param_size is 5 * size of a stack slot. + + param_size = 5 * sizeof(char *); + +#endif + + +#if defined(__x86_64) + + // For Intel64 linux & MACH ABI, all the parameters were passed in + + // register, so top of the stack frame above the return address + + // is just the size of the return address plus + + // distance_from_sp_to_alloca_area on the chance that the alloca + + // area isn't at the very bottom of the calling functions stack. + +#elif defined(__MACH__) + + // For ia32 MACH, parameter size is always a mutliple of 16 + + // bytes to keep the stack 16 byte aligned. So we need to round + + // number of parameters up to multiple of 4. + + param_size = 8 * sizeof(char *); + +#else + + // For both windows Intel64 ABI, and the IA32 windows and + + // linux ABIs, space is reserved on the stack for all these + + // parameters. param_size is 5 * size of a stack slot. + + param_size = 6 * sizeof(char *); + +#endif + + libcilkrts/runtime/os-unix.c: + + +#ifdef __linux__ + + // define _GNU_SOURCE before *any* #include. + + // Even will break later #includes if this macro is not + + // already defined when it is #included. + +# define _GNU_SOURCE + +#endif + + +#if defined __linux__ + +# include + +# include + + Syscall usage outside __linux__? + + Will run into: + + +#else + +#error "Unknown architecture" + + libcilkrts/runtime/sysdep-unix.c: + + +#ifdef __linux__ + + // define _GNU_SOURCE before *any* #include. + + // Even will break later #includes if this macro is not + + // already defined when it is #included. + +# define _GNU_SOURCE + +#endif + + +#ifdef __linux__ + +# include + +# include + +#endif + + +#if defined( __linux__) || defined(__VXWORKS__) + + pthread_t tid = *(pthread_t *)thread_id; + + if (i < 0 || i > g->total_workers) + + return 0; + + return g->sysdep->threads[i] == tid; + +#else + + // Needs to be implemented + + return 0; + +#endif + IRC, freenode, #hurd, 2014-01-10: bwaarf, libcilkrts in gcc-4.9 @@ -612,42 +761,22 @@ Last reviewed up to the [[Git mirror's 3a930d3fc68785662f5f3f4af02474cb21a62056 resolved, actually. - [[!debbug 734973]]. - - * `WCONTINUED` - - IRC, OFTC, #debian-hurd, 2014-02-25: - - youpi: some gcc-4.9 packages (and source) are needed for - gnat-4.9 to build: Is it OK to propose this patch: - http://paste.debian.net/84079/ - --- a/src/gcc/lto_lto.c.orig 2014-02-14 19:22:14.000000000 +0100 - +++ b/src/gcc/lto/lto.c 2014-02-25 20:50:20.000000000 +0100 - @@ -2476,7 +2476,11 @@ - int status; - do - { - +#ifdef __GNU__ - + int w = waitpid(0, &status, WUNTRACED); - +#else - int w = waitpid(0, &status, WUNTRACED | WCONTINUED); - +#endif - if (w == -1) - fatal_error ("waitpid failed"); - gnu_srs: rather ifndef WCONTINUED + [[!debbug 734973]]. gcc-4.9/debian/patches/libcilkrts-targets.diff + * Debian GCC 48594516135e34a726cafe3863a4dc661bbd61a4 `boehm-gc: use + anonymous mmap instead of brk also on hurd-*.`. [[!debbug 753791]]. # Build Here's a log of a GCC build run; this is from our [[Git repository's -2a3496bebfe9d89f11d0b7a591afac55e11d5263 (2013-06-06; -3a930d3fc68785662f5f3f4af02474cb21a62056 (2013-06-06)) +f91948d1bd857c81bb2cea688457b84fa3ce6b84 (2014-09-26; +d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 (2014-09-26)) sources|source_repositories/gcc]], run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C $ (cd ../master/ && contrib/gcc_update --touch) - $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 --enable-languages=all,ada 2>&1 | tee log_build + $ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.9 CXX=g++-4.9 --enable-languages=all,ada 2>&1 | tee log_build [...] $ make 2>&1 | tee log_build_ [...] @@ -655,11 +784,8 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and laplace.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -We're stuck with GCC 4.6 until there are Debian -*gnat-4.7*/*gnat-4.8*/*gnat-4.9* packages avaible. (Which there now are.) - -This takes up around 3.5 GiB, and runs for [[3 h 22 min|performance#measure]] -on kepler.SCHWINGE and [[3 h 44 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 4 GiB, and runs for [[4 h 48 min|performance#measure]] on +kepler.SCHWINGE and [[5 h 10 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to the [[Git mirror's d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 -(2014-09-26) sources|source_repositories/gcc]]. +Last reviewed up to the [[Git mirror's c16b7ed55398d2ea55d9ab35519f20cc053b9d0a +(2015-01-19) sources|source_repositories/gcc]]. has documentation for the `configure` switches. @@ -295,6 +295,8 @@ Last reviewed up to the [[Git mirror's d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 * `libitm/config/linux` + * `liboffloadmic` + * `hurd/usr` `NATIVE_SYSTEM_HEADER_DIR`, `638454a19c1c08f01c10517bc72a114250fc4f33`, @@ -770,8 +772,8 @@ Last reviewed up to the [[Git mirror's d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 # Build Here's a log of a GCC build run; this is from our [[Git repository's -f91948d1bd857c81bb2cea688457b84fa3ce6b84 (2014-09-26; -d3faa4b6d102b09a5ea17bbf81590f215b42fbc4 (2014-09-26)) +91049a6f433bd5b425144d2c71245df9ec99aa8f (2015-01-20; +c16b7ed55398d2ea55d9ab35519f20cc053b9d0a (2015-01-19)) sources|source_repositories/gcc]], run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C @@ -784,8 +786,8 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and laplace.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. -This takes up around 4 GiB, and runs for [[4 h 48 min|performance#measure]] on -kepler.SCHWINGE and [[5 h 10 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 4.8 GiB, and runs for [[5 h 57 min|performance#measure]] +on kepler.SCHWINGE and [[4 h 17 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit ad2be4bcad9c1de18feef7f8d7ebb98d680f064f -(2014-09-20), and for `libatomic_ops` to Git commit -ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13). +Last reviewed up to Git commit bf62552626acc7ad8babdc350a6365cb97ec8776 +(2015-01-07), and for `libatomic_ops` to Git commit +09887cae2790e29ff535cc56f7bd0c4459ef4e2b (2015-01-09). * `configure.ac` @@ -382,9 +382,8 @@ ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13). # Build Here's a log of a boehm-gc build run; this is from Git commit -ad2be4bcad9c1de18feef7f8d7ebb98d680f064f (2014-09-20) plus [[!message-id -"87ioke3iun.fsf@kepler.schwinge.homeip.net"]], and for `libatomic_ops` to Git -commit ba6c3170412ef7f751ff63e2b656296265dcff93 (2014-06-13), run on +bf62552626acc7ad8babdc350a6365cb97ec8776 (2015-01-07), and for `libatomic_ops` +Git commit 09887cae2790e29ff535cc56f7bd0c4459ef4e2b (2015-01-09), run on kepler.SCHWINGE and laplace.SCHWINGE. $ export LC_ALL=C @@ -398,9 +397,6 @@ kepler.SCHWINGE and laplace.SCHWINGE. Different hosts may default to different shells and compiler versions; thus harmonized. Using bash instead of dash as otherwise libtool explodes. -This takes up around TODO GiB, and runs for [[TODO min|performance#measure]] on -kepler.SCHWINGE and [[TODO min|performance#measure]] on laplace.SCHWINGE. - -Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852 -(2013-12-19) sources|source_repositories/glibc]]. +Last reviewed up to the [[Git mirror's 9a869d822025be8e43b78234997b10bf0cf9d859 +(2014-02-07) sources|source_repositories/glibc]]. * `t/hurdsig-fixes` @@ -1889,6 +1889,10 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852 `timer_create`, `timer_delete`, [[`clock_gettime`|clock_gettime]], and so on. + * `fd_to_filename` + + See [[translate_FD_or_port_to_file_name]]. + For specific packages: * [[octave]] @@ -2814,9 +2818,26 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852 * [high] 43d5c02c72bdaf59a8e0d4b06f2ae87e42269cbd `Fix build on hurd` -- is that from a topic branch that can then be annihilated? Verify emails. Verify no further changes in topic branch. - * 69a17d9d245dc3551792e95e1823cc2d877592f3 `Patch [1/4] async-signal safe - TLS.` -- do we also need an implementation of this? (Not yet called - from anywhere?) + * 69a17d9d245dc3551792e95e1823cc2d877592f3 `Patch [1/4] + async-signal safe TLS.` -- do we also need an implementation of this? + (Not yet called from anywhere?) Now used in + 7f507ee17aee720fa423fa38502bc3caa0dd03d7 `Async-signal safe TLS`. + 7f507ee17aee720fa423fa38502bc3caa0dd03d7 has been reverted in + 73d61e4f6c65da714c0f8a3a233725322553ceba. + 1f33d36a8a9e78c81bed59b47f260723f56bb7e6, + 063b2acbce83549df82ab30f5af573f1b9c4bd19, + b627fdd58554bc36bd344dc40a8787c4b7a9cc46, + e81c64bba13d2d8b2a4e53254a82cc80f27c8497 have been reverted in + dd654bf9ba1848bf9ed250f8ebaa5097c383dcf8. + 35e8f7ab94c910659de9d507aa0f3e1f8973d914 has been reverted in + 8b6785f0836011cace9a77f3c24e51a7379238a0. + 69a17d9d245dc3551792e95e1823cc2d877592f3 has been reverted in + bf06bcee84d4c19a99925c0f58026a8cbd87a688. + a494421f5268df333c589d71104a39bb6a9cff19 has been reverted in + f482dbbec775bf72eb6510b6091fca141893c466. + * [low] In various commits, `menual/*.texi` files have been annotated + regarding MTASC-safety properties. The focus has not necessarily been + on Hurd, though. * *baseline* @@ -2830,11 +2851,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852 # Build Here's a log of a glibc build run; this is from our [[Git repository's -3e72549df39b2550ba3ecd8c37bf1dd72d5de6d6 (2015-01-22; -64a17f1adde4715bb6607f64decd73b2df9e6852 (2013-12-19)) +f68531785b6d85fb0b405747688f93471b6a964f (2015-01-23; +9a869d822025be8e43b78234997b10bf0cf9d859 (2014-02-07)) plus 6a97b62a5b4f18aea849d6f4d8de58d1469d2521 reverted, -`id:"87zjnvn688.fsf@kepler.schwinge.homeip.net"`, -`id:"87ioujn0eq.fsf@kepler.schwinge.homeip.net"`, `id:"87a9fvguwq.fsf@schwinge.name"`, `_SERVERS_STARTUP` hard-coded to `/servers/startup` in `sysdeps/mach/hurd/reboot.c` sources|source_repositories/glibc]], run on laplace.SCHWINGE. diff --git a/open_issues/translate_fd_or_port_to_file_name.mdwn b/open_issues/translate_fd_or_port_to_file_name.mdwn index 252bc049..01ab3a78 100644 --- a/open_issues/translate_fd_or_port_to_file_name.mdwn +++ b/open_issues/translate_fd_or_port_to_file_name.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2010, 2011, 2013, 2014 Free Software Foundation, -Inc."]] +[[!meta copyright="Copyright © 2010, 2011, 2013, 2014, 2015 Free Software +Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -14,6 +14,9 @@ License|/fdl]]."]]"""]] [[!toc]] +# [[glibc]]'s `fd_to_filename` + + # IRC, freenode, #hurd, June (?) 2010 is there a way (POSIX or Hurdish) to get the corresponding file diff --git a/toolchain/logs b/toolchain/logs index 3b21bda2..2feb9cf1 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 3b21bda2c16f7f8e9fd05ecb7caafc0e1b14dcf5 +Subproject commit 2feb9cf1d9aad13d4970f40e536215db886970d3 -- cgit v1.2.3 From 3deff2acdbc1cef82fcc7172ee7e908e85eef0e9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 10 Apr 2015 11:44:04 +0200 Subject: open_issues/binutils: binutils-gdb: Re-run after system updates. --- open_issues/binutils.mdwn | 81 +++++++++++++++++++++++++++++++++++++++++------ toolchain/logs | 2 +- 2 files changed, 73 insertions(+), 10 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 15ddcc7b..43876865 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013, 2014 Free -Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013, 2014, 2015 +Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -259,12 +259,13 @@ dereferencing type-punned pointer will break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). -This takes up around 1.3 GiB, and runs for [[22 min|performance#measure]] on -kepler.SCHWINGE and [[21 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.3 GiB, and runs for [[25 min|performance#measure]] on +kepler.SCHWINGE and [[15 min|performance#measure]] on laplace.SCHWINGE. @@ -345,7 +346,7 @@ kepler.SCHWINGE and [[1 min|performance#measure]] on laplace.SCHWINGE. $ make -k check 2>&1 | tee log_test [...] -This runs for [[26 min|performance#measure]] on kepler.SCHWINGE and [[63 +This runs for [[38 min|performance#measure]] on kepler.SCHWINGE and [[35 min|performance#measure]] on laplace.SCHWINGE. When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite @@ -356,6 +357,63 @@ these (`SIGKILL` may be needed), makes the `tee` process terminate, too. On GNU/Hurd, these generally are `gdb.base/sigaltstack`, `gdb.base/siginfo`, `gdb.multi/watchpoint-multi`, `gdb.threads/watchthreads`. +On laplace.SCHWINGE, running with +`LD_PRELOAD=$HOME/fopen,unlink-NULL-wrapper.so` to get past [[!message-id +"87a907b5f3.fsf@kepler.schwinge.homeip.net"]]. + + COLLECT_GCC=gcc-4.9 COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper COMPILER_PATH=gcctestdir/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/ LIBRARY_PATH=gcctestdir/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../../lib/:/lib/i386-linux-gnu/:/lib/../lib/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-Wextra -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -fmerge-constants -g -O2 -fno-use-linker-plugin -o incremental_test -B gcctestdir/ -v -mtune=generic -march=i586' gdb -q --args /usr/lib/gcc/i586-linux-gnu/4.9/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2 -o incremental_test /usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu/crt1.o /usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i586-linux-gnu/4.9/crtbegin.o -Lgcctestdir -L/usr/lib/gcc/i586-linux-gnu/4.9 -L/usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu -L/usr/lib/gcc/i586-linux-gnu/4.9/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i586-linux-gnu/4.9/../../.. --incremental-full incremental_test_1.o incremental_test_2.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i586-linux-gnu/4.9/crtend.o /usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu/crtn.o -debug + break __fopen_internal + r + (possibly) c + Breakpoint 1, __fopen_internal (filename=filename@entry=0x0, mode=mode@entry=0x809b4a7 "r", is32=is32@entry=0) at iofopen.c:65 + 65 in iofopen.c + (gdb) bt + #0 __fopen_internal (filename=filename@entry=0x0, mode=mode@entry=0x809b4a7 "r", is32=is32@entry=0) at iofopen.c:65 + #1 0xb7e38c1b in _IO_fopen64 (filename=0x0, mode=0x809b4a7 "r") at iofopen64.c:39 + #2 0x0804c289 in ?? () + #3 0x0804e670 in ?? () + #4 0x0804aa8d in ?? () + #5 0xb7deba73 in __libc_start_main (main=0x804a080, argc=38, argv=0xbfffe6a4, init=0x8098f90, fini=0x8099000, rtld_fini=0xb7fedc90 <_dl_fini>, + stack_end=0xbfffe69c) at libc-start.c:287 + #6 0x0804b3a2 in ?? () + (and another one after that) + +Goes away if `-debug` is removed. + + commit 9a65bef918dd14d722ef2a1fec90f527158eabe0 + Author: rguenth + Date: Tue Jun 11 08:21:22 2013 +0000 + + 2013-06-11 Richard Biener + + * collect2.c (main): Do not redirect ld stdout/stderr when + debugging. + + + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199936 138bc75d-0d04-0410-961f-82ee72b054a4 + + diff --git gcc/collect2.c gcc/collect2.c + index 99dd41d..d3119b0 100644 + --- gcc/collect2.c + +++ gcc/collect2.c + @@ -1189,8 +1189,11 @@ main (int argc, char **argv) + #ifdef COLLECT_EXPORT_LIST + export_file = make_temp_file (".x"); + #endif + - ldout = make_temp_file (".ld"); + - lderrout = make_temp_file (".le"); + + if (!debug) + + { + + ldout = make_temp_file (".ld"); + + lderrout = make_temp_file (".le"); + + } + + id:"alpine.LNX.2.00.1306101358420.26078@zhemvz.fhfr.qr" + +Does this also cause: + + [-FAIL:-]{+PASS:+} justsyms + ## Analysis @@ -584,6 +642,15 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting (gdb) kill Kill the program being debugged? (y or n) y + * `gdb.base/fileio.exp` + + FAIL: gdb.base/fileio.exp: Stat a NULL pathname returns ENOENT or EFAULT + FAIL: gdb.base/fileio.exp: Stat an empty pathname returns ENOENT + FAIL: gdb.base/fileio.exp: Stat a nonexistant file returns ENOENT (the program is no longer running) + FAIL: gdb.base/fileio.exp: [...] (the program is no longer running) + + Is this actually a correct assumption? + * `gdb.base/random-signal.exp` Several things (suddenly?) seem to go wrong here. It seems we do hit @@ -1026,10 +1093,6 @@ like `gdb/testsuite/boards/cc-with-tweaks.exp` would help, or setting TODO. - * GDB: *Memory at address 0 is possibly executable*, and similar others - - [[!message-id "878ulqqlrr.fsf@schwinge.name"]]. - TODO. diff --git a/toolchain/logs b/toolchain/logs index 2feb9cf1..34b93723 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit 2feb9cf1d9aad13d4970f40e536215db886970d3 +Subproject commit 34b937238d22dae3b3ccba78ea19ad0d4e31a447 -- cgit v1.2.3 From fa4d8c75787c22d8adb6597ec46dba5a32ac9cd1 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 19 Apr 2015 16:34:30 +0200 Subject: open_issues/binutils: binutils-gdb: d3e9b40afb8e7bd09522044951cdce4710676c3e (2015-04-19) --- open_issues/binutils.mdwn | 73 +++++++++++++++++++++++++++++++++++++++++++---- toolchain/logs | 2 +- 2 files changed, 68 insertions(+), 7 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 43876865..c130ac14 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 05db5edd7923711a20c6225ea8e15f36e819d140 -(2014-09-16). +Last reviewed up to Git commit d3e9b40afb8e7bd09522044951cdce4710676c3e +(2015-04-19). * Globally @@ -96,6 +96,16 @@ Last reviewed up to Git commit 05db5edd7923711a20c6225ea8e15f36e819d140 * `gas/` + * `config/tc-i386.c` + + #ifdef TE_LINUX + /* Default to compress debug sections for Linux. */ + int flag_compress_debug = 1; + #endif + + This has received quite some criticism, but it has not yet been + corrected. + * `config/te-gnu.h` C.f. `te-linux.h`; search tree for `TE_LINUX` vs. `TE_GNU` usage. @@ -192,6 +202,26 @@ Last reviewed up to Git commit 05db5edd7923711a20c6225ea8e15f36e819d140 * `dr_status_mirror` is not really used anywhere. Get rid of it; or, update it everytime the real value is read from the kernel? + * TODO + + {+set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);+} + {+ set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);+} + + * TODO + + diff --git ./gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo + @@ -17340,6 +17433,24 @@ Access to those variables will generate a compiler error which @value{GDBN} + will print to the console. + @end table + + {+@subsection Compiler search for the @code{compile} command+} + {+[...]+} + {+Specifically @code{PATH} is searched for binaries matching regular expression+} + {+@code{@var{arch}(-[^-]*)?-@var{os}-gcc} [...]. @var{os} is currently supported only for+} + {+pattern @code{linux(-gnu)?}.+} + + * Check testsuite with check-read1 / READ1=t [./gdb/testsuite/README] + * `libdecnumber/` Should/can probably align to GNU/Linux. @@ -212,6 +242,27 @@ Last reviewed up to Git commit 05db5edd7923711a20c6225ea8e15f36e819d140 Compare to `i[3-7]86-*-linux-*`, but don't need a.out (`i386linux`) and 64 bit support. + * Linuxism + + diff --git ./ld/testsuite/ld-i386/i386.exp ./ld/testsuite/ld-i386/i386.exp + @@ -263,3 +263,93 @@ run_dump_test "pr12627" + {+# Must be Linux native with the C compiler+} + {+if { [isnative]+} + {+ && [istarget "i?86-*-linux*"]+} + +[...] + + {+ PASS: ld-i386/pr17935-1+} + {+ PASS: ld-i386/pr17935-2+} + {+-PASS: Build plt-lib.so+} + {+-PASS: Build libplt-main1.a+} + {+-PASS: Build libplt-main2.a+} + {+-PASS: Build libplt-main3.a+} + {+-PASS: Build libplt-main4.a+} + {+-PASS: Build plt-main+} + {+-PASS: Build plt-main with PIE+} + {+-PASS: Run plt-main+} + {+-PASS: Run plt-main with PIE+} + * `__ehdr_start symbol`, c84ed8d89d0b8bf5a2968d465f77ac24bcfc40c2 -- can this be helpful in the exec server, glibc, or elsewhere? Used in GDB (BFD) commit bdbd9758806ed855af89244870fdc52cf3ff09bc. @@ -259,8 +310,8 @@ dereferencing type-punned pointer will break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror` until that is resolved ([[strict_aliasing]]). -This takes up around 1.3 GiB, and runs for [[25 min|performance#measure]] on -kepler.SCHWINGE and [[15 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.4 GiB, and runs for [[22 min|performance#measure]] on +kepler.SCHWINGE and [[16 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit d3e9b40afb8e7bd09522044951cdce4710676c3e +Last reviewed up to Git commit 110f91128cf3e047eb1e04d346c27d71cc33fb9c (2015-04-19). * Globally @@ -415,8 +415,8 @@ the `tee` process does not terminate if there are still stray leftover processes that [have their stdout/stderr open](http://sourceware.org/ml/gdb-patches/2012-10/msg00489.html). `kill`ing these (`SIGKILL` may be needed), makes the `tee` process terminate, too. On -GNU/Hurd, these generally are `gdb.base/sigaltstack`, `gdb.base/siginfo`, -several `gdb.base/sigstep` ones, and `gdb.threads/watchthreads`. +GNU/Hurd, these generally are `gdb.base/sigaltstack`, `gdb.base/siginfo`, and +`gdb.threads/watchthreads`. On laplace.SCHWINGE, running with `LD_PRELOAD=$HOME/fopen,unlink-NULL-wrapper.so` to get past [[!message-id diff --git a/toolchain/logs b/toolchain/logs index d4368462..0bbc6934 160000 --- a/toolchain/logs +++ b/toolchain/logs @@ -1 +1 @@ -Subproject commit d43684622670954f6b422f2f10bce35289e85343 +Subproject commit 0bbc6934d2590743c622ca2e6a20479f18a0a850 -- cgit v1.2.3 From fa1af8427798be23dc3a1a3936f43993d0e9da75 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 1 Nov 2015 19:35:45 +0100 Subject: open_issues/binutils: binutils-gdb: Re-run after system updates. --- open_issues/binutils.mdwn | 33 ++++++++++++++++++--------------- open_issues/strict_aliasing.mdwn | 10 +++++++++- toolchain/logs | 2 +- 3 files changed, 28 insertions(+), 17 deletions(-) (limited to 'open_issues') diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn index 7a887d52..289206ad 100644 --- a/open_issues/binutils.mdwn +++ b/open_issues/binutils.mdwn @@ -305,13 +305,11 @@ Different hosts may default to different shells and compiler versions; thus harmonized. Debian GCC (which is used in the testsuite) likes to pass `-plugin [...]` and `--sysroot=/` to `ld`, so we need to configure with support for plugins and -sysroots. In the GDB build, there are several occurences of *error: -dereferencing type-punned pointer will break strict-aliasing rules* in the -MIG-generated stub files; thus no `-Werror` until that is resolved -([[strict_aliasing]]). +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.4 GiB, and runs for [[22 min|performance#measure]] on -kepler.SCHWINGE and [[16 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.4 GiB, and runs for [[23 min|performance#measure]] on +kepler.SCHWINGE and [[19 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit 110f91128cf3e047eb1e04d346c27d71cc33fb9c -(2015-04-19). +Last reviewed up to Git commit ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 +(2015-06-19). * Globally @@ -220,6 +220,20 @@ Last reviewed up to Git commit 110f91128cf3e047eb1e04d346c27d71cc33fb9c {+@code{@var{arch}(-[^-]*)?-@var{os}-gcc} [...]. @var{os} is currently supported only for+} {+pattern @code{linux(-gnu)?}.+} + * GDB got support for Linux namespaces: *able to access executable and + shared library files without a "set sysroot" command when attaching to + processes running in different mount namespaces from the debugger. + This makes it possible to attach to processes in containers as simply + as "gdb -p PID" or "gdbserver --attach PID"*. Similar support might be + useful for [[hurd/subhurd]]s? + + * gdbarch `infcall_munmap` + + default_infcall_munmap (CORE_ADDR addr, CORE_ADDR size) + { + /* Memory reserved by inferior mmap is kept leaked. */ + } + * Check testsuite with check-read1 / READ1=t [./gdb/testsuite/README] * `libdecnumber/` @@ -263,6 +277,15 @@ Last reviewed up to Git commit 110f91128cf3e047eb1e04d346c27d71cc33fb9c {+-PASS: Run plt-main+} {+-PASS: Run plt-main with PIE+} + diff --git ./ld/testsuite/ld-i386/i386.exp ./ld/testsuite/ld-i386/i386.exp + {+if { !([istarget "i?86-*-linux*"]+} + {+ || [istarget "x86_64-*-linux*"]) } {+} + {+ return+} + {+}+} + + {+# Linux only tests+} + {+run_dump_test "pltgot-1"+} + * `__ehdr_start symbol`, c84ed8d89d0b8bf5a2968d465f77ac24bcfc40c2 -- can this be helpful in the exec server, glibc, or elsewhere? Used in GDB (BFD) commit bdbd9758806ed855af89244870fdc52cf3ff09bc. @@ -308,8 +331,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.4 GiB, and runs for [[23 min|performance#measure]] on -kepler.SCHWINGE and [[19 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.4 GiB, and runs for [[21 min|performance#measure]] on +kepler.SCHWINGE and [[20 min|performance#measure]] on laplace.SCHWINGE. -Last reviewed up to Git commit ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 -(2015-06-19). +Last reviewed up to Git commit e49433d22dae92a56ae15a8b5742cbf1f31d5fd1 +(2015-08-19). * Globally @@ -100,7 +100,8 @@ Last reviewed up to Git commit ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 #ifdef TE_LINUX /* Default to compress debug sections for Linux. */ - int flag_compress_debug = 1; + enum compressed_debug_section_type flag_compress_debug + = COMPRESS_DEBUG_GABI_ZLIB; #endif This has received quite some criticism, but it has not yet been @@ -234,6 +235,24 @@ Last reviewed up to Git commit ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 /* Memory reserved by inferior mmap is kept leaked. */ } + * Support for Intel Processor Trace (--with-intel-pt; libipt)? + + * `supports_get_siginfo_type` + + Has previously been hard-coded in individual tests, now in + gdb/testsuite/lib/gdb.exp: + + # Return 1 if GDB can get a type for siginfo from the target, otherwise + # return 0. + + proc supports_get_siginfo_type {} { + if { [istarget "*-*-linux*"] } { + return 1 + } else { + return 0 + } + } + * Check testsuite with check-read1 / READ1=t [./gdb/testsuite/README] * `libdecnumber/` @@ -285,6 +304,7 @@ Last reviewed up to Git commit ef8b8d4ad51c2b90e022c5442f60b39f05e38ef6 {+# Linux only tests+} {+run_dump_test "pltgot-1"+} + {+run_dump_test "pltgot-2"+} * `__ehdr_start symbol`, c84ed8d89d0b8bf5a2968d465f77ac24bcfc40c2 -- can this be helpful in the exec server, glibc, or elsewhere? Used in GDB (BFD) @@ -331,8 +351,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.4 GiB, and runs for [[21 min|performance#measure]] on -kepler.SCHWINGE and [[20 min|performance#measure]] on laplace.SCHWINGE. +This takes up around 1.4 GiB, and runs for [[22 min|performance#measure]] on +kepler.SCHWINGE and [[23 min|performance#measure]] on laplace.SCHWINGE.