diff options
author | Jing Yu <jingyu@google.com> | 2012-02-15 15:40:16 -0800 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2012-02-15 15:40:16 -0800 |
commit | 3f73d6ef90458b45bbbb33ef4c2b174d4662a22d (patch) | |
tree | 1b5f0d96c51b51168b3713058a1b62e92f1136eb /gcc-4.6/libjava | |
parent | d7030123e04baab5dbff9c9ee04c0de99bd9a774 (diff) | |
download | toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.tar.gz toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.tar.bz2 toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.zip |
Sync down FSF r184235@google/gcc-4_6_2-mobile branch
1) Get mostly new patches from FSF gcc-4.6 branch
2) Fix PR52129
3) Insert GNU-stack note for all ARM targets
Change-Id: I2b9926981210e517e4021242908074319a91d6bd
Diffstat (limited to 'gcc-4.6/libjava')
-rw-r--r-- | gcc-4.6/libjava/ChangeLog | 29 | ||||
-rw-r--r-- | gcc-4.6/libjava/classpath/ChangeLog | 4 | ||||
-rw-r--r-- | gcc-4.6/libjava/classpath/ChangeLog.gcj | 6 | ||||
-rwxr-xr-x | gcc-4.6/libjava/classpath/config.rpath | 4 | ||||
-rwxr-xr-x | gcc-4.6/libjava/classpath/configure | 12 | ||||
-rwxr-xr-x | gcc-4.6/libjava/configure | 16 | ||||
-rw-r--r-- | gcc-4.6/libjava/configure.ac | 2 | ||||
-rw-r--r-- | gcc-4.6/libjava/include/dwarf2-signal.h | 15 | ||||
-rw-r--r-- | gcc-4.6/libjava/java/lang/natClass.cc | 4 | ||||
-rw-r--r-- | gcc-4.6/libjava/libltdl/ChangeLog | 9 | ||||
-rw-r--r-- | gcc-4.6/libjava/libltdl/acinclude.m4 | 6 | ||||
-rwxr-xr-x | gcc-4.6/libjava/libltdl/configure | 4 | ||||
-rw-r--r-- | gcc-4.6/libjava/prims.cc | 13 |
13 files changed, 81 insertions, 43 deletions
diff --git a/gcc-4.6/libjava/ChangeLog b/gcc-4.6/libjava/ChangeLog index 89d12daa7..b27b55bea 100644 --- a/gcc-4.6/libjava/ChangeLog +++ b/gcc-4.6/libjava/ChangeLog @@ -1,3 +1,32 @@ +2011-11-24 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/50888 + * prims.cc: Don't include ctype.h. + (c_isspace): Define. + (next_property_key, next_property_value): Use it instead + of isspace. + +2011-11-20 Andreas Tobler <andreast@fgznet.ch> + + * configure.ac: Fix FreeBSD 10 detection. + * configure: Regenerate. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + +2011-10-18 Uros Bizjak <ubizjak@gmail.com> + Eric Botcazou <ebotcazou@adacore.com> + + PR target/50737 + * include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME + definition. + +2011-07-12 Andrew Haley <aph@redhat.com> + + * java/lang/natClass.cc (finalize): Make sure that the class + really has an engine. + 2011-06-27 Release Manager * GCC 4.6.1 released. diff --git a/gcc-4.6/libjava/classpath/ChangeLog b/gcc-4.6/libjava/classpath/ChangeLog index 93a6f6209..7b6d27055 100644 --- a/gcc-4.6/libjava/classpath/ChangeLog +++ b/gcc-4.6/libjava/classpath/ChangeLog @@ -1,3 +1,7 @@ +2011-10-26 Release Manager + + * GCC 4.6.2 released. + 2011-06-27 Release Manager * GCC 4.6.1 released. diff --git a/gcc-4.6/libjava/classpath/ChangeLog.gcj b/gcc-4.6/libjava/classpath/ChangeLog.gcj index 9eb70ac14..0f537912e 100644 --- a/gcc-4.6/libjava/classpath/ChangeLog.gcj +++ b/gcc-4.6/libjava/classpath/ChangeLog.gcj @@ -1,3 +1,9 @@ +2011-11-29 Andreas Tobler <andreast@fgznet.ch> + + * config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up. + (libname_spec): Likewise. + * configure: Regenerate with autoconf -I ../../. + 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config.rpath, ltcf-c.sh, ltcf-gcj.sh, ltconfig: Remove diff --git a/gcc-4.6/libjava/classpath/config.rpath b/gcc-4.6/libjava/classpath/config.rpath index def43dcc5..b7f75cde4 100755 --- a/gcc-4.6/libjava/classpath/config.rpath +++ b/gcc-4.6/libjava/classpath/config.rpath @@ -361,7 +361,7 @@ else hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; - freebsd2*) + freebsd2.*) hardcode_direct=yes hardcode_minus_L=yes ;; @@ -533,7 +533,7 @@ case "$host_os" in ;; freebsd* | dragonfly*) case "$host_os" in - freebsd[123]*) + freebsd[23].*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; diff --git a/gcc-4.6/libjava/classpath/configure b/gcc-4.6/libjava/classpath/configure index 95e5916d1..d95a4df9c 100755 --- a/gcc-4.6/libjava/classpath/configure +++ b/gcc-4.6/libjava/classpath/configure @@ -10040,7 +10040,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -10956,7 +10956,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -10974,7 +10974,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -14240,7 +14240,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi esac ;; - freebsd[12]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no @@ -16015,7 +16015,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -16033,7 +16033,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) diff --git a/gcc-4.6/libjava/configure b/gcc-4.6/libjava/configure index d25a1799f..75c2e8cc8 100755 --- a/gcc-4.6/libjava/configure +++ b/gcc-4.6/libjava/configure @@ -11575,7 +11575,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -12491,7 +12491,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -12509,7 +12509,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -14399,7 +14399,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi esac ;; - freebsd[12]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no @@ -16174,7 +16174,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -16192,7 +16192,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -18535,7 +18535,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes @@ -20730,7 +20730,7 @@ case "$THREADS" in *-*-cygwin*) # Don't set THREADLIBS here. Cygwin doesn't have -lpthread. ;; - *-*-freebsd[1234]*) + *-*-freebsd[34].*) # Before FreeBSD 5, it didn't have -lpthread (or any library which # merely adds pthread_* functions) but it does have a -pthread switch # which is required at link-time to select -lc_r *instead* of -lc. diff --git a/gcc-4.6/libjava/configure.ac b/gcc-4.6/libjava/configure.ac index 805c519e2..b8f299dca 100644 --- a/gcc-4.6/libjava/configure.ac +++ b/gcc-4.6/libjava/configure.ac @@ -1060,7 +1060,7 @@ case "$THREADS" in *-*-cygwin*) # Don't set THREADLIBS here. Cygwin doesn't have -lpthread. ;; - *-*-freebsd[[1234]]*) + *-*-freebsd[[34]].*) # Before FreeBSD 5, it didn't have -lpthread (or any library which # merely adds pthread_* functions) but it does have a -pthread switch # which is required at link-time to select -lc_r *instead* of -lc. diff --git a/gcc-4.6/libjava/include/dwarf2-signal.h b/gcc-4.6/libjava/include/dwarf2-signal.h index 949bcc0ae..812968217 100644 --- a/gcc-4.6/libjava/include/dwarf2-signal.h +++ b/gcc-4.6/libjava/include/dwarf2-signal.h @@ -29,20 +29,7 @@ class java::lang::Throwable; // then throw an exception. With the dwarf2 unwinder we don't usually // need to do anything, with some minor exceptions. -#ifdef __alpha__ -#define MAKE_THROW_FRAME(_exception) \ -do \ -{ \ - /* Alpha either leaves PC pointing at a faulting instruction or the \ - following instruction, depending on the signal. SEGV always does \ - the former, so we adjust the saved PC to point to the following \ - instruction; this is what the handler in libgcc expects. */ \ - struct sigcontext *_sc = (struct sigcontext *)_p; \ - _sc->sc_pc += 4; \ -} \ -while (0) - -#elif defined(__ia64__) +#ifdef __ia64__ #define MAKE_THROW_FRAME(_exception) \ do \ diff --git a/gcc-4.6/libjava/java/lang/natClass.cc b/gcc-4.6/libjava/java/lang/natClass.cc index 9f9f05ed8..d6969d49b 100644 --- a/gcc-4.6/libjava/java/lang/natClass.cc +++ b/gcc-4.6/libjava/java/lang/natClass.cc @@ -668,7 +668,9 @@ java::lang::Class::newInstance (void) void java::lang::Class::finalize (void) { - engine->unregister(this); + // Array classes don't have an engine, and don't need to be finalized. + if (engine) + engine->unregister(this); } #ifdef INTERPRETER diff --git a/gcc-4.6/libjava/libltdl/ChangeLog b/gcc-4.6/libjava/libltdl/ChangeLog index 06bafa095..f2a91dbba 100644 --- a/gcc-4.6/libjava/libltdl/ChangeLog +++ b/gcc-4.6/libjava/libltdl/ChangeLog @@ -1,3 +1,12 @@ +2011-11-20 Andreas Tobler <andreast@fgznet.ch> + + * acinclude.m4: Additional FreeBSD 10 fixes. + * configure: Regenerate. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + 2011-06-27 Release Manager * GCC 4.6.1 released. diff --git a/gcc-4.6/libjava/libltdl/acinclude.m4 b/gcc-4.6/libjava/libltdl/acinclude.m4 index 55beab162..d77a1a399 100644 --- a/gcc-4.6/libjava/libltdl/acinclude.m4 +++ b/gcc-4.6/libjava/libltdl/acinclude.m4 @@ -1377,7 +1377,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) @@ -3035,7 +3035,7 @@ case $host_os in ;; esac ;; - freebsd[[12]]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -5669,7 +5669,7 @@ EOF ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes diff --git a/gcc-4.6/libjava/libltdl/configure b/gcc-4.6/libjava/libltdl/configure index f47d95f73..35b89dc55 100755 --- a/gcc-4.6/libjava/libltdl/configure +++ b/gcc-4.6/libjava/libltdl/configure @@ -7355,7 +7355,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -7968,7 +7968,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) diff --git a/gcc-4.6/libjava/prims.cc b/gcc-4.6/libjava/prims.cc index 90f8dc5ca..652cf5b4a 100644 --- a/gcc-4.6/libjava/prims.cc +++ b/gcc-4.6/libjava/prims.cc @@ -38,7 +38,6 @@ details. */ #endif #ifndef DISABLE_GETENV_PROPERTIES -#include <ctype.h> #include <java-props.h> #define PROCESS_GCJ_PROPERTIES process_gcj_properties() #else @@ -985,6 +984,8 @@ static java::lang::Thread *main_thread; #ifndef DISABLE_GETENV_PROPERTIES +#define c_isspace(c) (memchr (" \t\n\r\v\f", c, 6) != NULL) + static char * next_property_key (char *s, size_t *length) { @@ -993,7 +994,7 @@ next_property_key (char *s, size_t *length) JvAssert (s); // Skip over whitespace - while (isspace (*s)) + while (c_isspace (*s)) s++; // If we've reached the end, return NULL. Also return NULL if for @@ -1005,7 +1006,7 @@ next_property_key (char *s, size_t *length) // Determine the length of the property key. while (s[l] != 0 - && ! isspace (s[l]) + && ! c_isspace (s[l]) && s[l] != ':' && s[l] != '=') { @@ -1027,19 +1028,19 @@ next_property_value (char *s, size_t *length) JvAssert (s); - while (isspace (*s)) + while (c_isspace (*s)) s++; if (*s == ':' || *s == '=') s++; - while (isspace (*s)) + while (c_isspace (*s)) s++; // Determine the length of the property value. while (s[l] != 0 - && ! isspace (s[l]) + && ! c_isspace (s[l]) && s[l] != ':' && s[l] != '=') { |