summaryrefslogtreecommitdiff
path: root/open_issues/binutils.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-11-01 19:09:24 +0100
committerThomas Schwinge <thomas@codesourcery.com>2015-11-01 19:09:24 +0100
commit4ae03876c9a2c509bd187e6605706ab8c3ed4fe7 (patch)
tree734190ad969b6611f9f8405267ddc2ab9fb344ca /open_issues/binutils.mdwn
parent309b203c54f2521bed72311554779f3c2e143425 (diff)
parenteee40e0494f8fed4a5db166b3d15b54c0e89a186 (diff)
Merge commit 'eee40e0494f8fed4a5db166b3d15b54c0e89a186'
Diffstat (limited to 'open_issues/binutils.mdwn')
-rw-r--r--open_issues/binutils.mdwn150
1 files changed, 137 insertions, 13 deletions
diff --git a/open_issues/binutils.mdwn b/open_issues/binutils.mdwn
index 15ddcc7b..7a887d52 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
@@ -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 110f91128cf3e047eb1e04d346c27d71cc33fb9c
+(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,12 +310,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.4 GiB, and runs for [[22 min|performance#measure]] on
+kepler.SCHWINGE and [[16 min|performance#measure]] on laplace.SCHWINGE.
<!--
$ (make && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && make -k check 2>&1 | tee log_test
+ $ (make && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && LD_PRELOAD=$HOME/fopen,unlink-NULL-wrapper.so make -k check 2>&1 | tee log_test
-->
@@ -323,6 +375,16 @@ formats, and more emulation vectors.
check takes a rather long time to determine the result,
`int,int,long,long`.
+ * Something's wrong with Hurd's [[!tag open_issue_glibc]]`rename`?
+
+ -checking whether rename honors trailing slash on destination... yes
+ -checking whether rename honors trailing slash on source... yes
+ +checking whether rename honors trailing slash on destination... no
+ +checking whether rename honors trailing slash on source... no
+
+ - -e 's|@''REPLACE_RENAME''@|0|g' \
+ + -e 's|@''REPLACE_RENAME''@|1|g' \
+
# Install
@@ -345,7 +407,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 [[34 min|performance#measure]] on kepler.SCHWINGE and [[45
min|performance#measure]] on laplace.SCHWINGE.
When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite
@@ -353,8 +415,65 @@ 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`,
-`gdb.multi/watchpoint-multi`, `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
+"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 <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
+ Date: Tue Jun 11 08:21:22 2013 +0000
+
+ 2013-06-11 Richard Biener <rguenther@suse.de>
+
+ * 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 +703,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 +1154,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.