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 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 22 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.