summaryrefslogtreecommitdiff
path: root/open_issues/gcc.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues/gcc.mdwn')
-rw-r--r--open_issues/gcc.mdwn461
1 files changed, 139 insertions, 322 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index 7850d024..3627179b 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -35,8 +35,7 @@ git diff --patience --stat=$COLUMNS,$COLUMNS --patch --src-prefix=./ --dst-prefi
-->
Last reviewed up to the Git mirror's commit
-a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
-2016-04-15).
+17f0f5acdcfb9181203ca9b6d8f8cbc64e5ce843 (2016-11-30).
<http://gcc.gnu.org/install/configure.html> has documentation for the
`configure` switches.
@@ -65,215 +64,6 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
* `lib-prefix.m4` (present twice in GCC sources) contains one remaining
`linux`-only case.
- * `libjava`
-
- TODO:
-
- classpath/include/jni_md-x86-linux-gnu.h
-
- See below (`log_build`).
-
- Makefile.am:## _GNU_SOURCE defined for some Linux builds. It doesn't hurt to
- Makefile.am:## always define it. Some systems, including Linux, need
- Makefile.am:# certain linuxthread functions get linked:
- Makefile.am:## This is specific to Linux/{Free,Net,Open}BSD/Hurd and perhaps few others.
- Makefile.am: $(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)/linux; \
- Makefile.am: $(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
- Makefile.am: $(DESTDIR)$(SDK_INCLUDE_DIR)/linux/$$headername.h; \
- classpath/NEWS: the epoll notification mechanism on Linux 2.6.
- classpath/config.rpath: linux* | k*bsd*-gnu)
- classpath/config.rpath: gnu* | linux* | k*bsd*-gnu)
- classpath/config.rpath: linux*oldld* | linux*aout* | linux*coff*)
- classpath/config.rpath: linux* | k*bsd*-gnu)
- classpath/configure.ac: *linux*)
- classpath/configure.ac: target_os=linux-gnu
- classpath/configure.ac: AC_MSG_WARN(no, using x86-linux-gnu)
- classpath/doc/cp-vmintegration.texinfo:has been primarily tested against Linux and lacks garbage collections, a
- classpath/doc/cp-vmintegration.texinfo:Linux and Windows 2000. As of June, 2004, it does not appear that ORP
- classpath/doc/cp-vmintegration.texinfo:This is a free Java Virtual Machine that is being developed on GNU/Linux
- classpath/doc/cp-vmintegration.texinfo:Runs on the x86 and PowerPC architectures, on the AIX, Linux, and Mac
- classpath/gnu/classpath/SystemProperties.java: && "Linux".equals(defaultProperties.get("os.name")))
- classpath/gnu/java/nio/EpollSelectorImpl.java: * notification mechanism on GNU/Linux.
- classpath/java/io/File.java: * <strong>Implementation note</strong>: Unlike the RI, on Linux and UNIX
- classpath/java/net/MimeTypeMapper.java: // On Linux this usually means /etc/mime.types.
- classpath/ltcf-cxx.sh: linux*)
- classpath/ltcf-cxx.sh: linux*)
- classpath/ltconfig:# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- classpath/ltconfig:linux-gnu*) ;;
- classpath/ltconfig:linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig:# No shared lib support for Linux oldld, aout, or coff.
- classpath/ltconfig:linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
- classpath/ltconfig:# This must be Linux ELF.
- classpath/ltconfig:linux-gnu*)
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: # powerpc, because MkLinux only supported shared libraries with the
- classpath/ltconfig: # most powerpc-linux boxes support dynamic linking these days and
- classpath/ltconfig: # assume the GNU/Linux dynamic linker is in use.
- classpath/ltconfig: dynamic_linker='GNU/Linux ld.so'
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: dynamic_linker='GNU/Linux ld.so'
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltconfig: version_type=linux
- classpath/ltmain.sh:# compiler flags: $LTCFLAGS
- classpath/ltmain.sh: *-*-linux*)
- classpath/ltmain.sh: darwin|linux|osf|windows|none)
- classpath/ltmain.sh: # Like Linux, but with the current version available in
- classpath/ltmain.sh: linux)
- classpath/m4/lib-link.m4: dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- classpath/m4/lib-link.m4: linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- classpath/m4/lib-link.m4: dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- classpath/m4/lib-link.m4: linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- classpath/m4/lib-prefix.m4: dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- classpath/m4/lib-prefix.m4: linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- classpath/m4/lib-prefix.m4: CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- classpath/m4/lib-prefix.m4: dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- classpath/m4/lib-prefix.m4: linux*) haveit=yes;;
- classpath/m4/lib-prefix.m4: LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- classpath/m4/lib-prefix.m4: dnl On glibc systems, the current practice is that on a system supporting
- classpath/native/jni/java-net/javanet.c: /* Not writable on Linux */
- classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c: * vector based read call (currently readv on Linux).
- classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c: * vector based read call (currently readv on Linux).
- classpath/vm/reference/java/lang/VMProcess.java: // Linux use a process-per-thread model, which means the same thread
-
- configure.ac: *-*-linux*)
- configure.ac: AC_DEFINE(LINUX_THREADS, 1, [Define if using POSIX threads on Linux.])
- include/config.h.in:/* Define if using POSIX threads on Linux. */
- include/config.h.in:#undef LINUX_THREADS
- include/posix-threads.h:# ifdef LOCK_DEBUG /* Assumes Linuxthreads */
- include/posix-threads.h:#ifndef LINUX_THREADS
- include/posix-threads.h:// pthread_mutex_destroy does nothing on Linux and it is a win to avoid
- include/posix-threads.h:#endif /* LINUX_THREADS */
- include/posix-threads.h: // For linux_threads this is really a pointer to its thread data
- include/posix-threads.h:// E.g. on X86 Linux, pthread_self() is too slow for our purpose.
- include/posix-threads.h:// This code should probably go away when Linux/X86 starts using a
- posix-threads.cc:#if defined(LINUX_THREADS) || defined(FREEBSD_THREADS)
- posix-threads.cc: // LinuxThreads (prior to glibc 2.1) usurps both SIGUSR1 and SIGUSR2.
- posix-threads.cc:#else /* LINUX_THREADS */
- posix-threads.cc:#endif /* LINUX_THREADS */
- posix-threads.cc: // In older glibc's (prior to 2.1.3), the cond_wait functions may
- posix-threads.cc: // glibc 2.1.3 doesn't set the value of `thread' until after start_routine
-
- configure.ac: # We can save a little space at runtime if the mutex has m_count
- configure.ac: # or __m_count. This is a nice hack for Linux.
- configure.ac: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[
- configure.ac: extern pthread_mutex_t *mutex; int q = mutex->m_count;
-
- Makes sense to implement in our [[/libpthread]] ([[!taglink
- open_issue_libpthread]])?
-
- configure.ac: i?86-*-linux*)
- configure.ac: SIGNAL_HANDLER=include/i386-signal.h
- configure.ac: SIGNAL_HANDLER_AUX=include/x86_64-signal.h
- include/i386-signal.h:// on an i386 based Linux system.
- include/i386-signal.h: directly rather than via glibc. The sigaction structure that the
- include/i386-signal.h: * called _directly_ by the kernel, because linuxthreads wraps signal
- include/i386-signal.h: * handler to a linuxthreads wrapper, we will lose the PC adjustment
- include/i386-signal.h: * Also, there may not be any unwind info in the linuxthreads
-
- configure.ac: *-linux*)
- configure.ac: host_os=linux;;
-
- configure.host: i[34567]86*-linux* | \
- configure.host: can_unwind_signal=yes
- configure.host: libgcj_ld_symbolic='-Wl,-Bsymbolic'
- configure.host: if test x$slow_pthread_self = xyes \
- configure.host: [...]
- configure.host: i[34567]86*-kfreebsd*-gnu | x86_64*-kfreebsd*-gnu)
- configure.host: libgcj_ld_symbolic='-Wl,-Bsymbolic'
- configure.host: slow_pthread_self=
-
- java/lang/natObject.cc:// What follows currenly assumes a Linux-like platform.
- java/lang/natObject.cc:// Some of it specifically assumes X86 or IA64 Linux, though that
- java/lang/natObject.cc:# define INVALID_THREAD_ID 0 // Works for Linux?
- java/lang/natObject.cc: const unsigned MIN_SLEEP_USECS = 2001; // Shorter times spin under Linux.
- java/lang/natVMClassLoader.cc: // a module named (eg, on Linux) `lib-gnu-pkg-quux.so', followed
-
- libltdl/acinclude.m4:x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- libltdl/acinclude.m4: x86_64-*linux*)
- libltdl/acinclude.m4: ppc64-*linux*|powerpc64-*linux*)
- libltdl/acinclude.m4: LD="${LD-ld} -m elf32ppclinux"
- libltdl/acinclude.m4: s390x-*linux*)
- libltdl/acinclude.m4: sparc64-*linux*)
- libltdl/acinclude.m4: x86_64-*linux*)
- libltdl/acinclude.m4: ppc*-*linux*|powerpc*-*linux*)
- libltdl/acinclude.m4: s390*-*linux*)
- libltdl/acinclude.m4: sparc*-*linux*)
- libltdl/acinclude.m4: # Under GNU Hurd, this test is not required because there is
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4:# No shared lib support for Linux oldld, aout, or coff.
- libltdl/acinclude.m4:linux*oldld* | linux*aout* | linux*coff*)
- libltdl/acinclude.m4:# This must be Linux ELF.
- libltdl/acinclude.m4:linux*)
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: # powerpc, because MkLinux only supported shared libraries with the
- libltdl/acinclude.m4: # most powerpc-linux boxes support dynamic linking these days and
- libltdl/acinclude.m4: # assume the GNU/Linux dynamic linker is in use.
- libltdl/acinclude.m4: dynamic_linker='GNU/Linux ld.so'
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4: version_type=linux
- libltdl/acinclude.m4:# This must be Linux ELF.
- libltdl/acinclude.m4:linux*)
- libltdl/acinclude.m4: linux*)
- libltdl/acinclude.m4:linux*)
- libltdl/acinclude.m4: linux*)
- libltdl/acinclude.m4: # Linux and Compaq Tru64 Unix objects are PIC.
- libltdl/acinclude.m4: # Linux and Compaq Tru64 Unix objects are PIC.
- libltdl/acinclude.m4: linux*)
- libltdl/acinclude.m4: linux*)
- libltdl/acinclude.m4: gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
- libltdl/acinclude.m4: # GNU and its variants, using gnu ld.so (Glibc)
- libltdl/ltmain.sh: darwin|linux|osf|windows)
- libltdl/ltmain.sh: # Like Linux, but with the current version available in
- libltdl/ltmain.sh: linux)
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4:# No shared lib support for Linux oldld, aout, or coff.
- shlibpath.m4:linux*oldld* | linux*aout* | linux*coff*)
- shlibpath.m4:# This must be Linux ELF.
- shlibpath.m4:linux*|k*bsd*-gnu)
- shlibpath.m4: version_type=linux
- shlibpath.m4: # powerpc, because MkLinux only supported shared libraries with the
- shlibpath.m4: # most powerpc-linux boxes support dynamic linking these days and
- shlibpath.m4: # assume the GNU/Linux dynamic linker is in use.
- shlibpath.m4: dynamic_linker='GNU/Linux ld.so'
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
- shlibpath.m4: version_type=linux
-
- testsuite/lib/libjava.exp: if { [regexp "linux" $target_triplet] } {
-
- Adds `-specs=libgcj-test.spec`, which is created by `configure`. *This
- spec file is read by gcj when linking. It is only used by the testing
- harnesses (in libjava and gdb).* TODO. [[!taglink open_issue_gdb]].
-
* `libgcc`
* `config/t-linux`
@@ -439,6 +229,8 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
+++ ./gcc/testsuite/gcc.target/i386/noplt-2.c
+++ ./gcc/testsuite/gcc.target/i386/noplt-3.c
+++ ./gcc/testsuite/gcc.target/i386/noplt-4.c
+ {+/* { dg-do compile { target *-*-linux* } } */+}
+
+++ ./gcc/testsuite/gcc.target/i386/pr66275.c
+++ ./gcc/testsuite/gcc.target/i386/pr68018.c
{+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */+}
@@ -470,6 +262,72 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
{+ return+}
{+}+}
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/pr70750-1.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr70750-2.c
+ diff --git ./gcc/testsuite/gcc.target/i386/pr70750-2.c ./gcc/testsuite/gcc.target/i386/pr70750-2.c
+ @@ -0,0 +1,11 @@
+ {+/* { dg-do compile { target *-*-linux* } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-11.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-12.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-13.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-14.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-15.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-16.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-17.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-24.c
+ +++ ./gcc/testsuite/gcc.target/i386/interrupt-8.c
+ {+/* { dg-do compile { target *-*-linux* } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-1.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-2.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-3.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-4.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-5.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-6.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr67400-7.c
+ {+/* { dg-do compile { target *-*-linux* } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/pr66232-14.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr66232-15.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr66232-16.c
+ +++ ./gcc/testsuite/gcc.target/i386/pr66232-17.c
+ {+/* { dg-do compile { target *-*-linux* } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-gd-1.c
+ {+/* { dg-do compile { target { *-*-linux* && tls_get_addr_via_got } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-gd-2.c
+ {+/* { dg-do run { target { *-*-linux* } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-gd-3.c
+ {+/* { dg-do compile { target { *-*-linux* && { ia32 && tls_get_addr_via_got } } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-ld-1.c
+ {+/* { dg-do compile { target { *-*-linux* && tls_get_addr_via_got } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-ld-2.c
+ {+/* { dg-do run { target { *-*-linux* } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gcc.target/i386/noplt-ld-3.c
+ {+/* { dg-do compile { target { *-*-linux* && { ia32 && tls_get_addr_via_got } } } } */+}
+
+ --- /dev/null
+ +++ ./gcc/testsuite/gnat.dg/trampoline3.adb
+ +++ ./gcc/testsuite/gnat.dg/trampoline4.adb
+ {+-- { dg-do compile { target *-*-linux* } }+}
+
+
* `hurd/usr`
`NATIVE_SYSTEM_HEADER_DIR`, `638454a19c1c08f01c10517bc72a114250fc4f33`,
@@ -733,7 +591,7 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
to find out why some stuff wasn't compiling even after kfreebsd
porting patches adding preprocessors checks for __GLIBC__
- GNU/kFreeBSD and GNU/kNetBSD: commit
+ GNU/kFreeBSD: commit
6396cc37141180db4d2c8f73cab4f5977d8a1e19 (2004-06-24, r83577),
GNU/kOpenSolaris: commit 3bef40126fb1633018fce47828df0fa9f65f110c
(2009-01-29, r143768). See also GDB commits
@@ -1015,6 +873,9 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
[[!debbug 734973]]. gcc-4.9/debian/patches/libcilkrts-targets.diff
+ r235870 "Merge libcilkrts from upstream" is supposed to contain the Hurd
+ port (not yet reviewed/tested).
+
* [low] `libmpx`
Only enabled for GNU/Linux, but actually seems to be portable.
@@ -1061,6 +922,65 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
ee1bfdb0d611ed2e1057071f39589e6ebcd87983 `Remove __seg_tls before first
release`.
+ * x86 `-mgeneral-regs-only` option, commit
+ f409438030cfed3c6373f0dfa58a4bdf9a65b4ac, [[!GCC_PR 70738]].
+
+ Before being temporarily reverted in commit
+ 294528f77a8097ace2986019770cad097a3bbc55, it had originally been added in
+ commit a55668c45867980a07a06690a45edd43b4c82efa `Add -mgeneral-regs-only
+ option`:
+
+ X86 Linux kernel is compiled only with integer instructions. Currently,
+
+ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-80387
+ -mno-fp-ret-in-387 -mskip-rax-setup
+
+ is used to compile kernel. If we add another non-integer feature, it
+ has to be turned off. We can add a -mgeneral-regs-only option, similar
+ to AArch64, to disable all non-integer features so that kernel doesn't
+ need a long list and the same option will work for future compilers.
+ It can also be used to compile interrupt handler.
+
+ Will this be useful for GNU Mach, too?
+
+ * `TARGET_PRINTF_POINTER_FORMAT`
+
+ commit b9833bfd04471afa17cd52aedd911e4671bdd82a
+ Author: msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
+ Date: Wed Sep 21 01:39:27 2016 +0000
+
+ PR middle-end/49905 - Better sanity checking on sprintf src & dest to
+ [...]
+ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240298 138bc75d-0d04-0410-961f-82ee72b054a4
+
+ Why is `TARGET_PRINTF_POINTER_FORMAT` `#define`d in `gcc/config/linux.c`?
+ `#define` of `TARGET_PRINTF_POINTER_FORMAT` should move from
+ `gcc/config/linux.h` into `gnu-user.h`, and likewise for definition of
+ `gnu_libc_printf_pointer_format` in `gcc/config/linux.c`? Then adjust
+ `gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c`.
+
+ commit 9ce11577b63e817104a9590b60c5aac49ca4f6e2
+ Author: msebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
+ Date: Wed Oct 5 15:21:40 2016 +0000
+
+ PR bootstrap/77819 - undefined reference to gnu_libc_printf_pointer_format with uClibc
+
+ gcc/ChangeLog:
+
+ PR bootstrap/77819
+ * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define macro.
+ * config/linux.c (gnu_libc_printf_pointer_format): Remove.
+ * targhooks.c [DEFAULT_LIBC == LIBC_UCLIBC) && SINGLE_LIBC]
+ (default_printf_pointer_format): Define function.
+ * targhooks.c (linux_printf_pointer_format): Define new function.
+ * targhooks.h (linux_printf_pointer_format): Declare.
+ (gnu_libc_printf_pointer_format): Remove declaration.
+
+ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240793 138bc75d-0d04-0410-961f-82ee72b054a4
+
+ Some of that stuff has been reverted in commit
+ 72d5639d126d3b84a480430b4a4ce7dabd8ebd63.
+
* `--enable-default-pie`
On 2016-12-05 noticed that per `gcc -v` output, `gcc version 6.2.1 20161124
@@ -1071,8 +991,8 @@ a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
# Build
Here's a log of a GCC build run; this is from Git commit
-a050099a416f013bda35832b878d9a57b0cbb231 (gcc-6-branch branch point;
-2016-04-15), plus *libstdc++ RLIMIT changes* ([[!message-id
+17f0f5acdcfb9181203ca9b6d8f8cbc64e5ce843 (2016-11-30),
+plus *libstdc++ RLIMIT changes* ([[!message-id
"8760n66mky.fsf@euler.schwinge.homeip.net"]]), run on kepler.SCHWINGE
and laplace.SCHWINGE.
@@ -1094,8 +1014,8 @@ until these is auto-detected/fixed/ported for GNU Hurd.
`/include` for GNU Hurd. Explicit `--enable-multiarch` because *auto check [is
disabled if] configured with --native-system-header-dir*.
-This takes up around 4.8 GiB, and runs for [[4 h 46 min|performance#measure]]
-on kepler.SCHWINGE and [[3 h 52 min|performance#measure]] on laplace.SCHWINGE.
+This takes up around 3.9 GiB, and runs for [[3 h 57 min|performance#measure]]
+on kepler.SCHWINGE and [[4 h 37 min|performance#measure]] on laplace.SCHWINGE.
<!--
@@ -1166,18 +1086,6 @@ on kepler.SCHWINGE and [[3 h 52 min|performance#measure]] on laplace.SCHWINGE.
+checking for /proc/self/exe... no
+checking for /proc/self/maps... no
- * GCJ: `java-signal.h`, `java-signal-aux.h`
-
- -config.status: linking ../../../hurd/libjava/include/i386-signal.h to include/java-signal.h
- -config.status: linking ../../../hurd/libjava/include/i386-signal.h to include/java-signal-aux.h
- +config.status: linking ../../../hurd/libjava/include/default-signal.h to include/java-signal.h
- +config.status: linking ../../../hurd/libjava/include/default-signal.h to include/java-signal-aux.h
-
- * GCJ: `jni_md.h`
-
- -checking jni_md.h support... yes
- +checking jni_md.h support... configure: WARNING: no
-
* *default library search path*
-checking for the default library search path... /lib /usr/lib /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib
@@ -1185,40 +1093,6 @@ on kepler.SCHWINGE and [[3 h 52 min|performance#measure]] on laplace.SCHWINGE.
[[binutils]] issue? Should be aligned by Samuel's binutils patch.
- * `./classpath/[...]/*.properties`
-
- Just different order of files, or another problem?
-
- * `libjava/gnu/gcj/util/natGCInfo.cc`
-
- libtool: compile: [...]/hurd/master.build/./gcc/xgcc [...] -c ../../../master/libjava/gnu/gcj/util/natGCInfo.cc [...]
- +../../../master/libjava/gnu/gcj/util/natGCInfo.cc:440:1: warning: unused parameter 'name' [-Wunused-parameter]
- +../../../master/libjava/gnu/gcj/util/natGCInfo.cc:446:1: warning: unused parameter 'name' [-Wunused-parameter]
- +../../../master/libjava/gnu/gcj/util/natGCInfo.cc:452:1: warning: unused parameter 'name' [-Wunused-parameter]
-
- * `libgcj.la`
-
- Just different order of object files, or another problem?
-
- Is there a pattern that GNU/Hurd hands out the files alphabetically sorted
- where it wouldn't need to ([[!taglink open_issue_hurd]])?
-
- * `libjvm.la`, `.libs/libjvm.so`, `libgij.la`, `.libs/libgij.so.12.0.0`
-
- `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions`
-
- * `jar`
-
- make[2]: Entering directory `[...]/hurd/master.build/[ARCH]/libjava'
- -: make ; exec make "AR_FLAGS=rc" [...] "RANLIB=ranlib" "DESTDIR=" "JAR=[...]/hurd/master.build/[ARCH]/libjava/scripts/jar" DO=all multi-do
- +: make ; exec make "AR_FLAGS=rc" [...] "RANLIB=ranlib" "DESTDIR=" "JAR=jar" DO=all multi-do
-
- Probably because kepler.SCHWINGE has an OpenJDK `/usr/bin/jar`, and
- laplace.SCHWINGE a GCJ one.
- 2013-12-01: Yes: uninstalled OpenJDK on kepler.SCHWINGE, and it changed to
- `JAR=jar`.
- There are other instances of this in the following.
-
* `value-unwind.h`
-DEFINES='' HEADERS='../../../master/libgcc/config/i386/value-unwind.h' \
@@ -1258,8 +1132,8 @@ on kepler.SCHWINGE and [[3 h 52 min|performance#measure]] on laplace.SCHWINGE.
$ make install 2>&1 | tee log_install
[...]
-This takes up around 1.4 GiB, and runs for [[2 min|performance#measure]] on
-kepler.SCHWINGE and [[5 min|performance#measure]] on laplace.SCHWINGE.
+This takes up around 0.9 GiB, and runs for [[1 min|performance#measure]] on
+kepler.SCHWINGE and [[3 min|performance#measure]] on laplace.SCHWINGE.
## Analysis
@@ -1270,12 +1144,6 @@ kepler.SCHWINGE and [[5 min|performance#measure]] on laplace.SCHWINGE.
[[libtool]].
- * `libjvm.la`, `.libs/libjvm.so`, `libgij.la`, `.libs/libgij.so.12.0.0`
-
- `-Wl,-Bsymbolic` vs. `-Wl,-Bsymbolic-functions` (as above)
-
- * `jar`: as above.
-
# Testsuite
@@ -1284,7 +1152,7 @@ kepler.SCHWINGE and [[5 min|performance#measure]] on laplace.SCHWINGE.
$ make -k check 2>&1 | tee log_test
[...]
-This runs for [[5 h 49 min|performance#measure]] on kepler.SCHWINGE and [[10 h
+This runs for [[5 h 43 min|performance#measure]] on kepler.SCHWINGE and [[12 h
36 min|performance#measure]] on laplace.SCHWINGE.
@@ -1401,54 +1269,6 @@ This runs for [[5 h 49 min|performance#measure]] on kepler.SCHWINGE and [[10 h
All have basically the same backtrace. TODO.
- * `[ARCH]/libjava`
-
- A few of the `Thread_Sleep_2 output` tests FAIL (intermittently):
-
- FAIL: Thread_Sleep_2 [...] output - source compiled test
-
- That is because of:
-
- spawn [open ...]
- failed, iteration 1, time 9950000ns
- failed, iteration 3, time 9950000ns
- failed, iteration 5, time 9950000ns
- failed, iteration 7, time 9950000ns
- failed, iteration 9, time 9950000ns
- failed, iteration 11, time 9950000ns
- [...]
-
- Source code is probably libjava.lang/Thread_Sleep_2.java:
-
- for (int i = 0; i < 100; i++)
- {
- long start = System.nanoTime();
- Thread.sleep(10);
- long end = System.nanoTime();
- if ((end - start) < 10000000)
- {
- System.out.print ("failed, iteration ");
- System.out.print (i);
- System.out.print (", time ");
- System.out.print (end - start);
- System.out.println ("ns");
-
- TODO.
-
- spawn [open ...]
- 1
- FAIL: Throw_2 execution - source compiled test
- UNTESTED: Throw_2 output - source compiled test
-
- FAIL: Throw_2 -findirect-dispatch execution - source compiled test
- UNTESTED: Throw_2 -findirect-dispatch output - source compiled test
- FAIL: Throw_2 -O3 execution - source compiled test
- UNTESTED: Throw_2 -O3 output - source compiled test
- FAIL: Throw_2 -O3 -findirect-dispatch execution - source compiled test
- UNTESTED: Throw_2 -O3 -findirect-dispatch output - source compiled test
-
- TODO.
-
* `[ARCH]/libstdc++-v3`
FAIL: libstdc++-abi/abi_check
@@ -2757,9 +2577,6 @@ This runs for [[5 h 49 min|performance#measure]] on kepler.SCHWINGE and [[10 h
[[!message-id "8737sjzp89.fsf@kepler.schwinge.homeip.net"]].
- * libjava testing is broken on kepler.SCHWINGE because of [[!GCC_PR 70719
- desc="the libjava testsuite does not work with dejagnu 1.6"]].
-
## Enhancements