| Line 136... | Line 136... | 
      
        | +#undef TARGET_OPTION_OPTIMIZATION_TABLE
 | +#undef TARGET_OPTION_OPTIMIZATION_TABLE
 | 
      
        | +#define        TARGET_OPTION_OPTIMIZATION_TABLE        zip_option_optimization_table
 | +#define        TARGET_OPTION_OPTIMIZATION_TABLE        zip_option_optimization_table
 | 
      
        | +
 | +
 | 
      
        | +struct gcc_targetm_common      targetm_common = TARGETM_COMMON_INITIALIZER;
 | +struct gcc_targetm_common      targetm_common = TARGETM_COMMON_INITIALIZER;
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/aarch64/aarch64-linux.h gcc-5.3.0-zip/gcc/config/aarch64/aarch64-linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/aarch64/aarch64-linux.h gcc-5.3.0-zip/gcc/config/aarch64/aarch64-linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/aarch64/aarch64-linux.h       2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/aarch64/aarch64-linux.h       2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/aarch64/aarch64-linux.h    2015-07-24 12:00:26.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/aarch64/aarch64-linux.h    2015-07-24 12:00:26.000000000 -0400
 | 
      
        | @@ -21,7 +21,7 @@
 | @@ -21,7 +21,7 @@
 | 
      
        |  #ifndef GCC_AARCH64_LINUX_H
 |  #ifndef GCC_AARCH64_LINUX_H
 | 
      
        |  #define GCC_AARCH64_LINUX_H
 |  #define GCC_AARCH64_LINUX_H
 | 
      
        |  
 |  
 | 
      
        | Line 148... | Line 148... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef  ASAN_CC1_SPEC
 |  #undef  ASAN_CC1_SPEC
 | 
      
        |  #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
 |  #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/alpha/linux-elf.h gcc-5.3.0-zip/gcc/config/alpha/linux-elf.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/alpha/linux-elf.h gcc-5.3.0-zip/gcc/config/alpha/linux-elf.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/alpha/linux-elf.h     2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/alpha/linux-elf.h     2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/alpha/linux-elf.h  2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/alpha/linux-elf.h  2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -23,8 +23,8 @@
 | @@ -23,8 +23,8 @@
 | 
      
        |  #define EXTRA_SPECS \
 |  #define EXTRA_SPECS \
 | 
      
        |  { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
 |  { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
 | 
      
        |  
 |  
 | 
      
        | Line 162... | Line 162... | 
      
        | +#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
 | +#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
 | 
      
        |  #if DEFAULT_LIBC == LIBC_UCLIBC
 |  #if DEFAULT_LIBC == LIBC_UCLIBC
 | 
      
        |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 | 
      
        |  #elif DEFAULT_LIBC == LIBC_GLIBC
 |  #elif DEFAULT_LIBC == LIBC_GLIBC
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/arm/linux-eabi.h gcc-5.3.0-zip/gcc/config/arm/linux-eabi.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/arm/linux-eabi.h gcc-5.3.0-zip/gcc/config/arm/linux-eabi.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/arm/linux-eabi.h      2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/arm/linux-eabi.h      2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/arm/linux-eabi.h   2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/arm/linux-eabi.h   2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -68,8 +68,8 @@
 | @@ -68,8 +68,8 @@
 | 
      
        |     GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
 |     GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
 | 
      
        |  
 |  
 | 
      
        |  #undef  GLIBC_DYNAMIC_LINKER
 |  #undef  GLIBC_DYNAMIC_LINKER
 | 
      
        | Line 176... | Line 176... | 
      
        | +#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
 | +#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
 | 
      
        |  #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
 |  #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
 | 
      
        |  
 |  
 | 
      
        |  #define GLIBC_DYNAMIC_LINKER \
 |  #define GLIBC_DYNAMIC_LINKER \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/arm/linux-elf.h gcc-5.3.0-zip/gcc/config/arm/linux-elf.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/arm/linux-elf.h gcc-5.3.0-zip/gcc/config/arm/linux-elf.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/arm/linux-elf.h       2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/arm/linux-elf.h       2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/arm/linux-elf.h    2015-06-23 05:26:54.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/arm/linux-elf.h    2015-06-23 05:26:54.000000000 -0400
 | 
      
        | @@ -62,7 +62,7 @@
 | @@ -62,7 +62,7 @@
 | 
      
        |  
 |  
 | 
      
        |  #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
 |  #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
 | 
      
        |  
 |  
 | 
      
        | Line 188... | Line 188... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | 
      
        |  
 |  
 | 
      
        |  #define LINUX_TARGET_LINK_SPEC  "%{h*} \
 |  #define LINUX_TARGET_LINK_SPEC  "%{h*} \
 | 
      
        |     %{static:-Bstatic} \
 |     %{static:-Bstatic} \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/bfin/linux.h gcc-5.3.0-zip/gcc/config/bfin/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/bfin/linux.h gcc-5.3.0-zip/gcc/config/bfin/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/bfin/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/bfin/linux.h  2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/bfin/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/bfin/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -45,7 +45,7 @@
 | @@ -45,7 +45,7 @@
 | 
      
        |    %{shared:-G -Bdynamic} \
 |    %{shared:-G -Bdynamic} \
 | 
      
        |    %{!shared: %{!static: \
 |    %{!shared: %{!static: \
 | 
      
        |     %{rdynamic:-export-dynamic} \
 |     %{rdynamic:-export-dynamic} \
 | 
      
        | Line 200... | Line 200... | 
      
        | +   -dynamic-linker /lib/ld-uClibc.so.0} \
 | +   -dynamic-linker /lib/ld-uClibc.so.0} \
 | 
      
        |     %{static}} -init __init -fini __fini"
 |     %{static}} -init __init -fini __fini"
 | 
      
        |  
 |  
 | 
      
        |  #undef TARGET_SUPPORTS_SYNC_CALLS
 |  #undef TARGET_SUPPORTS_SYNC_CALLS
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/cris/linux.h gcc-5.3.0-zip/gcc/config/cris/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/cris/linux.h gcc-5.3.0-zip/gcc/config/cris/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/cris/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/cris/linux.h  2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/cris/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/cris/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -102,7 +102,7 @@
 | @@ -102,7 +102,7 @@
 | 
      
        |  #undef CRIS_DEFAULT_CPU_VERSION
 |  #undef CRIS_DEFAULT_CPU_VERSION
 | 
      
        |  #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
 |  #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
 | 
      
        |  
 |  
 | 
      
        | Line 212... | Line 212... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef CRIS_LINK_SUBTARGET_SPEC
 |  #undef CRIS_LINK_SUBTARGET_SPEC
 | 
      
        |  #define CRIS_LINK_SUBTARGET_SPEC \
 |  #define CRIS_LINK_SUBTARGET_SPEC \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/freebsd-spec.h gcc-5.3.0-zip/gcc/config/freebsd-spec.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/freebsd-spec.h gcc-5.3.0-zip/gcc/config/freebsd-spec.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/freebsd-spec.h        2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/freebsd-spec.h        2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/freebsd-spec.h     2015-06-25 13:53:14.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/freebsd-spec.h     2015-06-25 13:53:14.000000000 -0400
 | 
      
        | @@ -129,9 +129,9 @@
 | @@ -129,9 +129,9 @@
 | 
      
        |  #endif
 |  #endif
 | 
      
        |  
 |  
 | 
      
        |  #if FBSD_MAJOR < 6
 |  #if FBSD_MAJOR < 6
 | 
      
        | Line 227... | Line 227... | 
      
        | +#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
 | +#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
 | 
      
        |  #endif
 |  #endif
 | 
      
        |  
 |  
 | 
      
        |  /* NOTE: The freebsd-spec.h header is included also for various
 |  /* NOTE: The freebsd-spec.h header is included also for various
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/frv/linux.h gcc-5.3.0-zip/gcc/config/frv/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/frv/linux.h gcc-5.3.0-zip/gcc/config/frv/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/frv/linux.h   2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/frv/linux.h   2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/frv/linux.h        2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/frv/linux.h        2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -34,7 +34,7 @@
 | @@ -34,7 +34,7 @@
 | 
      
        |  #define ENDFILE_SPEC \
 |  #define ENDFILE_SPEC \
 | 
      
        |    "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
 |    "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
 | 
      
        |  
 |  
 | 
      
        | Line 239... | Line 239... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef LINK_SPEC
 |  #undef LINK_SPEC
 | 
      
        |  #define LINK_SPEC "\
 |  #define LINK_SPEC "\
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/gnu.h gcc-5.3.0-zip/gcc/config/i386/gnu.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/gnu.h gcc-5.3.0-zip/gcc/config/i386/gnu.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/i386/gnu.h    2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/i386/gnu.h    2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/i386/gnu.h 2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/i386/gnu.h 2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -22,7 +22,7 @@
 | @@ -22,7 +22,7 @@
 | 
      
        |  #define GNU_USER_LINK_EMULATION "elf_i386"
 |  #define GNU_USER_LINK_EMULATION "elf_i386"
 | 
      
        |  
 |  
 | 
      
        |  #undef GNU_USER_DYNAMIC_LINKER
 |  #undef GNU_USER_DYNAMIC_LINKER
 | 
      
        | Line 251... | Line 251... | 
      
        | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so"
 | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so"
 | 
      
        |  
 |  
 | 
      
        |  #undef STARTFILE_SPEC
 |  #undef STARTFILE_SPEC
 | 
      
        |  #if defined HAVE_LD_PIE
 |  #if defined HAVE_LD_PIE
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu64.h gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu64.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu64.h gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu64.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu64.h 2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu64.h 2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu64.h      2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu64.h      2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -22,6 +22,6 @@
 | @@ -22,6 +22,6 @@
 | 
      
        |  #define GNU_USER_LINK_EMULATION64 "elf_x86_64_fbsd"
 |  #define GNU_USER_LINK_EMULATION64 "elf_x86_64_fbsd"
 | 
      
        |  #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64_fbsd"
 |  #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64_fbsd"
 | 
      
        |  
 |  
 | 
      
        | Line 264... | Line 264... | 
      
        | -#define GLIBC_DYNAMIC_LINKERX32 "/tools/lib/ld-kfreebsd-x32.so.1"
 | -#define GLIBC_DYNAMIC_LINKERX32 "/tools/lib/ld-kfreebsd-x32.so.1"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
 | +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-kfreebsd-x32.so.1"
 | +#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-kfreebsd-x32.so.1"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu.h gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu.h gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu.h   2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/i386/kfreebsd-gnu.h   2016-05-06 10:50:31.943799053 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu.h        2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/i386/kfreebsd-gnu.h        2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -19,4 +19,4 @@
 | @@ -19,4 +19,4 @@
 | 
      
        |  <http://www.gnu.org/licenses/>.  */
 |  <http://www.gnu.org/licenses/>.  */
 | 
      
        |  
 |  
 | 
      
        |  #define GNU_USER_LINK_EMULATION "elf_i386_fbsd"
 |  #define GNU_USER_LINK_EMULATION "elf_i386_fbsd"
 | 
      
        | -#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | -#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/linux64.h gcc-5.3.0-zip/gcc/config/i386/linux64.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/linux64.h gcc-5.3.0-zip/gcc/config/i386/linux64.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/i386/linux64.h        2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/i386/linux64.h        2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/i386/linux64.h     2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/i386/linux64.h     2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -27,6 +27,6 @@
 | @@ -27,6 +27,6 @@
 | 
      
        |  #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
 |  #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
 | 
      
        |  #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
 |  #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
 | 
      
        |  
 |  
 | 
      
        | Line 286... | Line 286... | 
      
        | -#define GLIBC_DYNAMIC_LINKERX32 "/tools/libx32/ld-linux-x32.so.2"
 | -#define GLIBC_DYNAMIC_LINKERX32 "/tools/libx32/ld-linux-x32.so.2"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
 | +#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
 | +#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
 | +#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/linux.h gcc-5.3.0-zip/gcc/config/i386/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/i386/linux.h gcc-5.3.0-zip/gcc/config/i386/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/i386/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/i386/linux.h  2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/i386/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/i386/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -20,4 +20,4 @@
 | @@ -20,4 +20,4 @@
 | 
      
        |  <http://www.gnu.org/licenses/>.  */
 |  <http://www.gnu.org/licenses/>.  */
 | 
      
        |  
 |  
 | 
      
        |  #define GNU_USER_LINK_EMULATION "elf_i386"
 |  #define GNU_USER_LINK_EMULATION "elf_i386"
 | 
      
        | -#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 | -#define GLIBC_DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
 | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/ia64/linux.h gcc-5.3.0-zip/gcc/config/ia64/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/ia64/linux.h gcc-5.3.0-zip/gcc/config/ia64/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/ia64/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/ia64/linux.h  2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/ia64/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/ia64/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -55,7 +55,7 @@
 | @@ -55,7 +55,7 @@
 | 
      
        |  /* Define this for shared library support because it isn't in the main
 |  /* Define this for shared library support because it isn't in the main
 | 
      
        |     linux.h file.  */
 |     linux.h file.  */
 | 
      
        |  
 |  
 | 
      
        | Line 307... | Line 307... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
 | 
      
        |  
 |  
 | 
      
        |  #undef LINK_SPEC
 |  #undef LINK_SPEC
 | 
      
        |  #define LINK_SPEC "\
 |  #define LINK_SPEC "\
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/knetbsd-gnu.h gcc-5.3.0-zip/gcc/config/knetbsd-gnu.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/knetbsd-gnu.h gcc-5.3.0-zip/gcc/config/knetbsd-gnu.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/knetbsd-gnu.h 2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/knetbsd-gnu.h 2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/knetbsd-gnu.h      2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/knetbsd-gnu.h      2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -32,4 +32,4 @@
 | @@ -32,4 +32,4 @@
 | 
      
        |  
 |  
 | 
      
        |  
 |  
 | 
      
        |  #undef GNU_USER_DYNAMIC_LINKER
 |  #undef GNU_USER_DYNAMIC_LINKER
 | 
      
        | -#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | -#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | 
      
        | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/kopensolaris-gnu.h gcc-5.3.0-zip/gcc/config/kopensolaris-gnu.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/kopensolaris-gnu.h gcc-5.3.0-zip/gcc/config/kopensolaris-gnu.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/kopensolaris-gnu.h    2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/kopensolaris-gnu.h    2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/kopensolaris-gnu.h 2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/kopensolaris-gnu.h 2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -31,5 +31,4 @@
 | @@ -31,5 +31,4 @@
 | 
      
        |    while (0)
 |    while (0)
 | 
      
        |  
 |  
 | 
      
        |  #undef GNU_USER_DYNAMIC_LINKER
 |  #undef GNU_USER_DYNAMIC_LINKER
 | 
      
        | -#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | -#define GNU_USER_DYNAMIC_LINKER "/tools/lib/ld.so.1"
 | 
      
        | -
 | -
 | 
      
        | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/linux.h gcc-5.3.0-zip/gcc/config/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/linux.h gcc-5.3.0-zip/gcc/config/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/linux.h       2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/linux.h       2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/linux.h    2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/linux.h    2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -73,10 +73,10 @@
 | @@ -73,10 +73,10 @@
 | 
      
        |     GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
 |     GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
 | 
      
        |     GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
 |     GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
 | 
      
        |     supporting both 32-bit and 64-bit compilation.  */
 |     supporting both 32-bit and 64-bit compilation.  */
 | 
      
        | Line 344... | Line 344... | 
      
        | +#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
 | +#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
 | 
      
        |  #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
 |  #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
 | 
      
        |  #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
 |  #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
 | 
      
        |  #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
 |  #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/lm32/uclinux-elf.h gcc-5.3.0-zip/gcc/config/lm32/uclinux-elf.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/lm32/uclinux-elf.h gcc-5.3.0-zip/gcc/config/lm32/uclinux-elf.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/lm32/uclinux-elf.h    2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/lm32/uclinux-elf.h    2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/lm32/uclinux-elf.h 2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/lm32/uclinux-elf.h 2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -67,7 +67,7 @@
 | @@ -67,7 +67,7 @@
 | 
      
        |     %{shared:-shared} \
 |     %{shared:-shared} \
 | 
      
        |     %{symbolic:-Bsymbolic} \
 |     %{symbolic:-Bsymbolic} \
 | 
      
        |     %{rdynamic:-export-dynamic} \
 |     %{rdynamic:-export-dynamic} \
 | 
      
        | Line 356... | Line 356... | 
      
        | +   -dynamic-linker /lib/ld-linux.so.2"
 | +   -dynamic-linker /lib/ld-linux.so.2"
 | 
      
        |  
 |  
 | 
      
        |  #define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS()
 |  #define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS()
 | 
      
        |  
 |  
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/m68k/linux.h gcc-5.3.0-zip/gcc/config/m68k/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/m68k/linux.h gcc-5.3.0-zip/gcc/config/m68k/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/m68k/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/m68k/linux.h  2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/m68k/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/m68k/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -71,7 +71,7 @@
 | @@ -71,7 +71,7 @@
 | 
      
        |     When the -shared link option is used a final link is not being
 |     When the -shared link option is used a final link is not being
 | 
      
        |     done.  */
 |     done.  */
 | 
      
        |  
 |  
 | 
      
        | Line 368... | Line 368... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef LINK_SPEC
 |  #undef LINK_SPEC
 | 
      
        |  #define LINK_SPEC "-m m68kelf %{shared} \
 |  #define LINK_SPEC "-m m68kelf %{shared} \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/microblaze/linux.h gcc-5.3.0-zip/gcc/config/microblaze/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/microblaze/linux.h gcc-5.3.0-zip/gcc/config/microblaze/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/microblaze/linux.h    2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/microblaze/linux.h    2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/microblaze/linux.h 2015-05-28 10:08:19.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/microblaze/linux.h 2015-05-28 10:08:19.000000000 -0400
 | 
      
        | @@ -28,7 +28,7 @@
 | @@ -28,7 +28,7 @@
 | 
      
        |  #undef TLS_NEEDS_GOT
 |  #undef TLS_NEEDS_GOT
 | 
      
        |  #define TLS_NEEDS_GOT 1
 |  #define TLS_NEEDS_GOT 1
 | 
      
        |  
 |  
 | 
      
        | Line 380... | Line 380... | 
      
        | +#define DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  #undef  SUBTARGET_EXTRA_SPECS
 |  #undef  SUBTARGET_EXTRA_SPECS
 | 
      
        |  #define SUBTARGET_EXTRA_SPECS \
 |  #define SUBTARGET_EXTRA_SPECS \
 | 
      
        |    { "dynamic_linker", DYNAMIC_LINKER }
 |    { "dynamic_linker", DYNAMIC_LINKER }
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/mips/linux.h gcc-5.3.0-zip/gcc/config/mips/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/mips/linux.h gcc-5.3.0-zip/gcc/config/mips/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/mips/linux.h  2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/mips/linux.h  2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/mips/linux.h       2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/mips/linux.h       2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -22,20 +22,20 @@
 | @@ -22,20 +22,20 @@
 | 
      
        |  #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
 |  #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
 | 
      
        |  
 |  
 | 
      
        |  #define GLIBC_DYNAMIC_LINKER32 \
 |  #define GLIBC_DYNAMIC_LINKER32 \
 | 
      
        | Line 410... | Line 410... | 
      
        | +  "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
 | +  "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
 | 
      
        |  
 |  
 | 
      
        |  #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
 |  #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
 | 
      
        |  #define GNU_USER_DYNAMIC_LINKERN32 \
 |  #define GNU_USER_DYNAMIC_LINKERN32 \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/mn10300/linux.h gcc-5.3.0-zip/gcc/config/mn10300/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/mn10300/linux.h gcc-5.3.0-zip/gcc/config/mn10300/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/mn10300/linux.h       2016-04-22 17:02:06.640199519 -0400
 | --- gcc-5.3.0-original/gcc/config/mn10300/linux.h       2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/mn10300/linux.h    2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/mn10300/linux.h    2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -32,7 +32,7 @@
 | @@ -32,7 +32,7 @@
 | 
      
        |  #undef  ASM_SPEC
 |  #undef  ASM_SPEC
 | 
      
        |  #define ASM_SPEC ""
 |  #define ASM_SPEC ""
 | 
      
        |  
 |  
 | 
      
        | Line 422... | Line 422... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef  LINK_SPEC
 |  #undef  LINK_SPEC
 | 
      
        |  #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
 |  #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/pa/pa-linux.h gcc-5.3.0-zip/gcc/config/pa/pa-linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/pa/pa-linux.h gcc-5.3.0-zip/gcc/config/pa/pa-linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/pa/pa-linux.h 2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/pa/pa-linux.h 2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/pa/pa-linux.h      2015-09-24 20:04:26.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/pa/pa-linux.h      2015-09-24 20:04:26.000000000 -0400
 | 
      
        | @@ -37,7 +37,7 @@
 | @@ -37,7 +37,7 @@
 | 
      
        |  /* Define this for shared library support because it isn't in the main
 |  /* Define this for shared library support because it isn't in the main
 | 
      
        |     linux.h file.  */
 |     linux.h file.  */
 | 
      
        |  
 |  
 | 
      
        | Line 434... | Line 434... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef LINK_SPEC
 |  #undef LINK_SPEC
 | 
      
        |  #define LINK_SPEC "\
 |  #define LINK_SPEC "\
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/rs6000/linux64.h gcc-5.3.0-zip/gcc/config/rs6000/linux64.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/rs6000/linux64.h gcc-5.3.0-zip/gcc/config/rs6000/linux64.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/rs6000/linux64.h      2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/rs6000/linux64.h      2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/rs6000/linux64.h   2015-03-09 19:18:57.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/rs6000/linux64.h   2015-03-09 19:18:57.000000000 -0400
 | 
      
        | @@ -357,14 +357,14 @@
 | @@ -357,14 +357,14 @@
 | 
      
        |  #undef LINK_OS_DEFAULT_SPEC
 |  #undef LINK_OS_DEFAULT_SPEC
 | 
      
        |  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
 |  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
 | 
      
        |  
 |  
 | 
      
        | Line 457... | Line 457... | 
      
        | +#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
 | +#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
 | 
      
        |  #if DEFAULT_LIBC == LIBC_UCLIBC
 |  #if DEFAULT_LIBC == LIBC_UCLIBC
 | 
      
        |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 | 
      
        |  #elif DEFAULT_LIBC == LIBC_GLIBC
 |  #elif DEFAULT_LIBC == LIBC_GLIBC
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/rs6000/sysv4.h gcc-5.3.0-zip/gcc/config/rs6000/sysv4.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/rs6000/sysv4.h gcc-5.3.0-zip/gcc/config/rs6000/sysv4.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/rs6000/sysv4.h        2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/rs6000/sysv4.h        2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/rs6000/sysv4.h     2015-09-24 09:46:45.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/rs6000/sysv4.h     2015-09-24 09:46:45.000000000 -0400
 | 
      
        | @@ -757,8 +757,8 @@
 | @@ -757,8 +757,8 @@
 | 
      
        |  
 |  
 | 
      
        |  #define LINK_START_LINUX_SPEC ""
 |  #define LINK_START_LINUX_SPEC ""
 | 
      
        |  
 |  
 | 
      
        | Line 471... | Line 471... | 
      
        | +#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
 | +#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
 | 
      
        |  #if DEFAULT_LIBC == LIBC_UCLIBC
 |  #if DEFAULT_LIBC == LIBC_UCLIBC
 | 
      
        |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 |  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
 | 
      
        |  #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
 |  #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/s390/linux.h gcc-5.3.0-zip/gcc/config/s390/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/s390/linux.h gcc-5.3.0-zip/gcc/config/s390/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/s390/linux.h  2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/s390/linux.h  2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/s390/linux.h       2015-05-11 03:14:10.000000000 -0400
 | +++ gcc-5.3.0-zip/gcc/config/s390/linux.h       2015-05-11 03:14:10.000000000 -0400
 | 
      
        | @@ -60,8 +60,8 @@
 | @@ -60,8 +60,8 @@
 | 
      
        |  #define MULTILIB_DEFAULTS { "m31" }
 |  #define MULTILIB_DEFAULTS { "m31" }
 | 
      
        |  #endif
 |  #endif
 | 
      
        |  
 |  
 | 
      
        | Line 485... | Line 485... | 
      
        | +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
 | +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
 | 
      
        |  
 |  
 | 
      
        |  #undef  LINK_SPEC
 |  #undef  LINK_SPEC
 | 
      
        |  #define LINK_SPEC \
 |  #define LINK_SPEC \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sh/linux.h gcc-5.3.0-zip/gcc/config/sh/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sh/linux.h gcc-5.3.0-zip/gcc/config/sh/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/sh/linux.h    2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/sh/linux.h    2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/sh/linux.h 2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/sh/linux.h 2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -43,7 +43,7 @@
 | @@ -43,7 +43,7 @@
 | 
      
        |  
 |  
 | 
      
        |  #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
 |  #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
 | 
      
        |  
 |  
 | 
      
        | Line 497... | Line 497... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | 
      
        |  
 |  
 | 
      
        |  #undef SUBTARGET_LINK_EMUL_SUFFIX
 |  #undef SUBTARGET_LINK_EMUL_SUFFIX
 | 
      
        |  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
 |  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sparc/linux64.h gcc-5.3.0-zip/gcc/config/sparc/linux64.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sparc/linux64.h gcc-5.3.0-zip/gcc/config/sparc/linux64.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/sparc/linux64.h       2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/sparc/linux64.h       2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/sparc/linux64.h    2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/sparc/linux64.h    2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -84,8 +84,8 @@
 | @@ -84,8 +84,8 @@
 | 
      
        |     When the -shared link option is used a final link is not being
 |     When the -shared link option is used a final link is not being
 | 
      
        |     done.  */
 |     done.  */
 | 
      
        |  
 |  
 | 
      
        | Line 520... | Line 520... | 
      
        | +#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
 | +#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
 | 
      
        |    %{!shared: \
 |    %{!shared: \
 | 
      
        |      %{!static: \
 |      %{!static: \
 | 
      
        |        %{rdynamic:-export-dynamic} \
 |        %{rdynamic:-export-dynamic} \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sparc/linux.h gcc-5.3.0-zip/gcc/config/sparc/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/sparc/linux.h gcc-5.3.0-zip/gcc/config/sparc/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/sparc/linux.h 2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/sparc/linux.h 2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/sparc/linux.h      2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/sparc/linux.h      2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -83,7 +83,7 @@
 | @@ -83,7 +83,7 @@
 | 
      
        |     When the -shared link option is used a final link is not being
 |     When the -shared link option is used a final link is not being
 | 
      
        |     done.  */
 |     done.  */
 | 
      
        |  
 |  
 | 
      
        | Line 532... | Line 532... | 
      
        | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | +#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 | 
      
        |  
 |  
 | 
      
        |  #undef  LINK_SPEC
 |  #undef  LINK_SPEC
 | 
      
        |  #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
 |  #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/vax/linux.h gcc-5.3.0-zip/gcc/config/vax/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/vax/linux.h gcc-5.3.0-zip/gcc/config/vax/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/vax/linux.h   2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/vax/linux.h   2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/vax/linux.h        2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/vax/linux.h        2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -41,7 +41,7 @@
 | @@ -41,7 +41,7 @@
 | 
      
        |    %{!shared: \
 |    %{!shared: \
 | 
      
        |      %{!static: \
 |      %{!static: \
 | 
      
        |        %{rdynamic:-export-dynamic} \
 |        %{rdynamic:-export-dynamic} \
 | 
      
        | Line 544... | Line 544... | 
      
        | +      -dynamic-linker /lib/ld.so.1} \
 | +      -dynamic-linker /lib/ld.so.1} \
 | 
      
        |      %{static:-static}}"
 |      %{static:-static}}"
 | 
      
        |  
 |  
 | 
      
        |  #undef  WCHAR_TYPE
 |  #undef  WCHAR_TYPE
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/xtensa/linux.h gcc-5.3.0-zip/gcc/config/xtensa/linux.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/xtensa/linux.h gcc-5.3.0-zip/gcc/config/xtensa/linux.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/xtensa/linux.h        2016-04-22 17:02:06.644199498 -0400
 | --- gcc-5.3.0-original/gcc/config/xtensa/linux.h        2016-05-06 10:50:31.947799027 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/xtensa/linux.h     2015-01-05 07:33:28.000000000 -0500
 | +++ gcc-5.3.0-zip/gcc/config/xtensa/linux.h     2015-01-05 07:33:28.000000000 -0500
 | 
      
        | @@ -44,7 +44,7 @@
 | @@ -44,7 +44,7 @@
 | 
      
        |    %{mlongcalls:--longcalls} \
 |    %{mlongcalls:--longcalls} \
 | 
      
        |    %{mno-longcalls:--no-longcalls}"
 |    %{mno-longcalls:--no-longcalls}"
 | 
      
        |  
 |  
 | 
      
        | Line 694... | Line 694... | 
      
        | +       # cat $(srcdir)/config/fp-bit.c >> fp-bit.c
 | +       # cat $(srcdir)/config/fp-bit.c >> fp-bit.c
 | 
      
        | +
 | +
 | 
      
        | +
 | +
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.c gcc-5.3.0-zip/gcc/config/zip/zip.c
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.c gcc-5.3.0-zip/gcc/config/zip/zip.c
 | 
      
        | --- gcc-5.3.0-original/gcc/config/zip/zip.c     1969-12-31 19:00:00.000000000 -0500
 | --- gcc-5.3.0-original/gcc/config/zip/zip.c     1969-12-31 19:00:00.000000000 -0500
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/zip/zip.c  2016-04-22 17:01:44.712315371 -0400
 | +++ gcc-5.3.0-zip/gcc/config/zip/zip.c  2016-05-02 21:56:27.075389925 -0400
 | 
      
        | @@ -0,0 +1,2174 @@
 | @@ -0,0 +1,2185 @@
 | 
      
        | +////////////////////////////////////////////////////////////////////////////////
 | +////////////////////////////////////////////////////////////////////////////////
 | 
      
        | +//
 | +//
 | 
      
        | +// Filename:   zip.c
 | +// Filename:   zip.c
 | 
      
        | +//
 | +//
 | 
      
        | +// Project:    Zip CPU backend for the GNU Compiler Collection
 | +// Project:    Zip CPU backend for the GNU Compiler Collection
 | 
      
        | Line 1201... | Line 1201... | 
      
        | +
 | +
 | 
      
        | +       if (dbg)  fprintf(stderr, "PROLOGUE: Computing Prologue instructions\n");
 | +       if (dbg)  fprintf(stderr, "PROLOGUE: Computing Prologue instructions\n");
 | 
      
        | +       if (dbg)  fprintf(stderr, "PROLOGUE: SP-FP offset is %d\n",
 | +       if (dbg)  fprintf(stderr, "PROLOGUE: SP-FP offset is %d\n",
 | 
      
        | +                       cfun->machine->sp_fp_offset);
 | +                       cfun->machine->sp_fp_offset);
 | 
      
        | +       if (cfun->machine->size_for_adjusting_sp != 0) {
 | +       if (cfun->machine->size_for_adjusting_sp != 0) {
 | 
      
        | +               insn = emit_insn(gen_subsi3(stack_pointer_rtx,
 | +               insn = emit_insn(gen_subsi3_reg_clobber(stack_pointer_rtx,
 | 
      
        | +                               stack_pointer_rtx,
 | +                               stack_pointer_rtx,
 | 
      
        | +                       gen_int_mode(cfun->machine->size_for_adjusting_sp,
 | +                       gen_int_mode(cfun->machine->size_for_adjusting_sp,
 | 
      
        | +                               SImode)));
 | +                               SImode)));
 | 
      
        | +                       // cfun->machine->sp_fp_offset
 | +                       // cfun->machine->sp_fp_offset
 | 
      
        | +
 | +
 | 
      
        | Line 1295... | Line 1295... | 
      
        | + */
 | + */
 | 
      
        | +void
 | +void
 | 
      
        | +zip_expand_epilogue(void) {
 | +zip_expand_epilogue(void) {
 | 
      
        | +       int     regno, offset;
 | +       int     regno, offset;
 | 
      
        | +       const bool      dbg = ((ALL_DEBUG_ON)||(false))&&(!ALL_DEBUG_OFF);
 | +       const bool      dbg = ((ALL_DEBUG_ON)||(false))&&(!ALL_DEBUG_OFF);
 | 
      
        |   | +       rtx     insn;
 | 
      
        | +
 | +
 | 
      
        | +       zip_compute_frame();
 | +       zip_compute_frame();
 | 
      
        | +
 | +
 | 
      
        | +       if (dbg) fprintf(stderr, "EPILOG::\n");
 | +       if (dbg) fprintf(stderr, "EPILOG::\n");
 | 
      
        | +       if (cfun->machine->fp_needed) {
 | +       if (cfun->machine->fp_needed) {
 | 
      
        | Line 1306... | Line 1307... | 
      
        | +               // enough so that you must have a frame pointer, then you can't
 | +               // enough so that you must have a frame pointer, then you can't
 | 
      
        | +               // trust its offset enough to restore from it.  Hence, we start
 | +               // trust its offset enough to restore from it.  Hence, we start
 | 
      
        | +               // by moving the frame pointer to the stack pointer to recover
 | +               // by moving the frame pointer to the stack pointer to recover
 | 
      
        | +               // the stack pointer back to a usable value.
 | +               // the stack pointer back to a usable value.
 | 
      
        | +               if (dbg) fprintf(stderr, "EPILOG::Moving frame pointer to stack register\n");
 | +               if (dbg) fprintf(stderr, "EPILOG::Moving frame pointer to stack register\n");
 | 
      
        | +               emit_insn(gen_movsi_reg(stack_pointer_rtx, frame_pointer_rtx));
 | +               insn = emit_insn(gen_movsi_reg(stack_pointer_rtx, frame_pointer_rtx));
 | 
      
        |   | +               RTX_FRAME_RELATED_P(insn) = 1;
 | 
      
        | +       }
 | +       }
 | 
      
        | +
 | +
 | 
      
        | +       if (cfun->machine->saved_reg_size != 0) {
 | +       if (cfun->machine->saved_reg_size != 0) {
 | 
      
        | +               if (cfun->machine->fp_needed)
 | +               if (cfun->machine->fp_needed)
 | 
      
        | +                       offset = 0;
 | +                       offset = 0;
 | 
      
        | Line 1318... | Line 1320... | 
      
        | +                       offset = cfun->machine->sp_fp_offset;
 | +                       offset = cfun->machine->sp_fp_offset;
 | 
      
        | +               if (dbg) fprintf(stderr, "EPILOG::Saved_REG_Size = %d\n", cfun->machine->saved_reg_size);
 | +               if (dbg) fprintf(stderr, "EPILOG::Saved_REG_Size = %d\n", cfun->machine->saved_reg_size);
 | 
      
        | +               for(regno=0; regno < FIRST_PSEUDO_REGISTER; regno++) {
 | +               for(regno=0; regno < FIRST_PSEUDO_REGISTER; regno++) {
 | 
      
        | +                       if (zip_save_reg(regno)) {
 | +                       if (zip_save_reg(regno)) {
 | 
      
        | +                               if (dbg) fprintf(stderr, "EPILOG::RESTORING R%d\n", regno);
 | +                               if (dbg) fprintf(stderr, "EPILOG::RESTORING R%d\n", regno);
 | 
      
        | +                               emit_insn(gen_movsi_lod_off(
 | +                               rtx reg = gen_rtx_REG(SImode, regno);
 | 
      
        | +                                               gen_rtx_REG(SImode, regno),
 | +                               insn = emit_insn(gen_movsi_lod_off(
 | 
      
        |   | +                                               reg,
 | 
      
        | +                                               stack_pointer_rtx,
 | +                                               stack_pointer_rtx,
 | 
      
        | +                                               GEN_INT(offset++)));
 | +                                               GEN_INT(offset++)));
 | 
      
        |   | +                               add_reg_note(insn, REG_CFA_RESTORE, reg);
 | 
      
        |   | +                               RTX_FRAME_RELATED_P(insn) = 1;
 | 
      
        | +                       }
 | +                       }
 | 
      
        | +               }
 | +               }
 | 
      
        | +       }
 | +       }
 | 
      
        | +
 | +
 | 
      
        | +       if (cfun->machine->fp_needed) {
 | +       if (cfun->machine->fp_needed) {
 | 
      
        | +               // Restore the stack pointer back to the original, the
 | +               // Restore the stack pointer back to the original, the
 | 
      
        | +               // difference being the difference from the frame pointer
 | +               // difference being the difference from the frame pointer
 | 
      
        | +               // to the original stack
 | +               // to the original stack
 | 
      
        | +               emit_insn(gen_addsi3(stack_pointer_rtx, stack_pointer_rtx,
 | +               insn = emit_insn(gen_addsi3_reg_clobber(stack_pointer_rtx,
 | 
      
        |   | +                       stack_pointer_rtx,
 | 
      
        | +                       GEN_INT(cfun->machine->size_for_adjusting_sp
 | +                       GEN_INT(cfun->machine->size_for_adjusting_sp
 | 
      
        | +                               -cfun->machine->sp_fp_offset)));
 | +                               -cfun->machine->sp_fp_offset)));
 | 
      
        |   | +               RTX_FRAME_RELATED_P(insn) = 1;
 | 
      
        | +       } else {
 | +       } else {
 | 
      
        | +               // else now the difference is between the stack pointer and
 | +               // else now the difference is between the stack pointer and
 | 
      
        | +               // the original stack pointer.
 | +               // the original stack pointer.
 | 
      
        | +               if (dbg) fprintf(stderr, "EPILOG::ADDSI3(StackPtr, %d)\n",
 | +               if (dbg) fprintf(stderr, "EPILOG::ADDSI3(StackPtr, %d)\n",
 | 
      
        | +                               cfun->machine->size_for_adjusting_sp);
 | +                               cfun->machine->size_for_adjusting_sp);
 | 
      
        | +               emit_insn(gen_addsi3(stack_pointer_rtx, stack_pointer_rtx,
 | +               insn = emit_insn(gen_addsi3_reg_clobber(stack_pointer_rtx,
 | 
      
        |   | +                       stack_pointer_rtx,
 | 
      
        | +                       GEN_INT(cfun->machine->size_for_adjusting_sp)));
 | +                       GEN_INT(cfun->machine->size_for_adjusting_sp)));
 | 
      
        |   | +               RTX_FRAME_RELATED_P(insn) = 1;
 | 
      
        | +       }
 | +       }
 | 
      
        | +       if (dbg) fprintf(stderr, "EPILOG::EMITTING-RETURN\n");
 | +       if (dbg) fprintf(stderr, "EPILOG::EMITTING-RETURN\n");
 | 
      
        | +
 | +
 | 
      
        | +       emit_jump_insn(ret_rtx);
 | +       // The return RTX is not allowed to be frame related
 | 
      
        |   | +       insn = emit_jump_insn(ret_rtx);
 | 
      
        |   | +       // RTX_FRAME_RELATED_P(insn) = 1;
 | 
      
        | +}
 | +}
 | 
      
        | +
 | +
 | 
      
        | +/* Implement RETURN_ADDR_RTX(COUNT, FRAMEADDR).
 | +/* Implement RETURN_ADDR_RTX(COUNT, FRAMEADDR).
 | 
      
        | + *
 | + *
 | 
      
        | + * We currently only support calculating the return address for the current
 | + * We currently only support calculating the return address for the current
 | 
      
        | Line 1674... | Line 1685... | 
      
        | +
 | +
 | 
      
        | +               if (CONST_INT_P(*op1)) {
 | +               if (CONST_INT_P(*op1)) {
 | 
      
        | +                       *op1 = GEN_INT(INTVAL(*op1)+offset);
 | +                       *op1 = GEN_INT(INTVAL(*op1)+offset);
 | 
      
        | +                       swap = true;
 | +                       swap = true;
 | 
      
        | +               } else if (REG_P(*op1)) {
 | +               } else if (REG_P(*op1)) {
 | 
      
        | +                       *op1 = plus_constant(SImode, *op1, offset, true);
 | +                       *op1 = plus_constant(GET_MODE(*op1), *op1, offset, true);
 | 
      
        | +                       swap = true;
 | +                       swap = true;
 | 
      
        | +               } else if ((GET_CODE(*op1)==PLUS)&&(CONST_INT_P(XEXP(*op1,1)))){
 | +               } else if ((GET_CODE(*op1)==PLUS)&&(CONST_INT_P(XEXP(*op1,1)))){
 | 
      
        | +                       *op1 = plus_constant(GET_MODE(*op1),XEXP(*op1,0),
 | +                       *op1 = plus_constant(GET_MODE(*op1),XEXP(*op1,0),
 | 
      
        | +                               INTVAL(XEXP(*op1,1))+offset);
 | +                               INTVAL(XEXP(*op1,1))+offset);
 | 
      
        | +                       swap = true;
 | +                       swap = true;
 | 
      
        | Line 1707... | Line 1718... | 
      
        | +static void
 | +static void
 | 
      
        | +zip_asm_trampoline_template(FILE *f) {
 | +zip_asm_trampoline_template(FILE *f) {
 | 
      
        | +       // Whereas at one time I thought I wouldn't need it, now I know I
 | +       // Whereas at one time I thought I wouldn't need it, now I know I
 | 
      
        | +       // need this trampoline function, although it is for a completely
 | +       // need this trampoline function, although it is for a completely
 | 
      
        | +       // different purpose than the one I was familiar with.
 | +       // different purpose than the one I was familiar with.
 | 
      
        | +       fprintf(f, "\tldihi 0,r1\n");
 | +       fprintf(f, "\tbrev\t0,r1\n");
 | 
      
        | +       fprintf(f, "\tldilo 0,r1\n");
 | +       fprintf(f, "\tldilo\t0,r1\n");
 | 
      
        | +       fprintf(f, "\tjmp r1\n");
 | +       fprintf(f, "\tjmp r1\n");
 | 
      
        | +}
 | +}
 | 
      
        | +
 | +
 | 
      
        | +/* Worker function for TARGET_TRAMPOLINE_INIT. */
 | +/* Worker function for TARGET_TRAMPOLINE_INIT. */
 | 
      
        | +static void
 | +static void
 | 
      
        | Line 2872... | Line 2883... | 
      
        | +int    zip_is_conditional(rtx_insn *insn) {
 | +int    zip_is_conditional(rtx_insn *insn) {
 | 
      
        | +       return (get_attr_conditional(insn)==CONDITIONAL_YES);
 | +       return (get_attr_conditional(insn)==CONDITIONAL_YES);
 | 
      
        | +}
 | +}
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.h gcc-5.3.0-zip/gcc/config/zip/zip.h
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.h gcc-5.3.0-zip/gcc/config/zip/zip.h
 | 
      
        | --- gcc-5.3.0-original/gcc/config/zip/zip.h     1969-12-31 19:00:00.000000000 -0500
 | --- gcc-5.3.0-original/gcc/config/zip/zip.h     1969-12-31 19:00:00.000000000 -0500
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/zip/zip.h  2016-04-21 16:49:43.785679680 -0400
 | +++ gcc-5.3.0-zip/gcc/config/zip/zip.h  2016-04-30 19:30:48.670201745 -0400
 | 
      
        | @@ -0,0 +1,4058 @@
 | @@ -0,0 +1,4060 @@
 | 
      
        | +////////////////////////////////////////////////////////////////////////////////
 | +////////////////////////////////////////////////////////////////////////////////
 | 
      
        | +//
 | +//
 | 
      
        | +// Filename:   gcc/config/zip/zip.h
 | +// Filename:   gcc/config/zip/zip.h
 | 
      
        | +//
 | +//
 | 
      
        | +// Project:    Zip CPU backend for the GNU Compiler Collection
 | +// Project:    Zip CPU backend for the GNU Compiler Collection
 | 
      
        | Line 2929... | Line 2940... | 
      
        | +#define        ZIP_ATOMIC      ((ZIP_PIPELINED)&&(ZIP_VLIW))
 | +#define        ZIP_ATOMIC      ((ZIP_PIPELINED)&&(ZIP_VLIW))
 | 
      
        | +#define        ZIP_PIC         0        // Attempting to produce PIC code, with GOT
 | +#define        ZIP_PIC         0        // Attempting to produce PIC code, with GOT
 | 
      
        | +#define        ZIP_HAS_DI      1
 | +#define        ZIP_HAS_DI      1
 | 
      
        | +// Should we use the peephole optimizations?
 | +// Should we use the peephole optimizations?
 | 
      
        | +#define        ZIP_PEEPHOLE    1       // 0 means no peephole optimizations.
 | +#define        ZIP_PEEPHOLE    1       // 0 means no peephole optimizations.
 | 
      
        |   | +// How about the new long multiply instruction set?
 | 
      
        |   | +#define        ZIP_LONGMPY     1       // 0 means use the old instruction set
 | 
      
        | +
 | +
 | 
      
        | +// Zip has 16 registers in each user mode.
 | +// Zip has 16 registers in each user mode.
 | 
      
        | +//     Register 15 is the program counter (PC)
 | +//     Register 15 is the program counter (PC)
 | 
      
        | +//     Register 14 is the condition codes (CC)
 | +//     Register 14 is the condition codes (CC)
 | 
      
        | +//     Register 13 is the stack pointer   (SP)
 | +//     Register 13 is the stack pointer   (SP)
 | 
      
        | Line 6934... | Line 6947... | 
      
        | +
 | +
 | 
      
        | +#endif /* GCC_ZIP_H */
 | +#endif /* GCC_ZIP_H */
 | 
      
        | +
 | +
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.md gcc-5.3.0-zip/gcc/config/zip/zip.md
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/config/zip/zip.md gcc-5.3.0-zip/gcc/config/zip/zip.md
 | 
      
        | --- gcc-5.3.0-original/gcc/config/zip/zip.md    1969-12-31 19:00:00.000000000 -0500
 | --- gcc-5.3.0-original/gcc/config/zip/zip.md    1969-12-31 19:00:00.000000000 -0500
 | 
      
        | +++ gcc-5.3.0-zip/gcc/config/zip/zip.md 2016-04-21 20:01:08.790659796 -0400
 | +++ gcc-5.3.0-zip/gcc/config/zip/zip.md 2016-05-04 11:07:24.042917943 -0400
 | 
      
        | @@ -0,0 +1,2961 @@
 | @@ -0,0 +1,3219 @@
 | 
      
        | +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
      
        | +;;
 | +;;
 | 
      
        | +;; Filename:   zip.md
 | +;; Filename:   zip.md
 | 
      
        | +;;
 | +;;
 | 
      
        | +;; Project:    Zip CPU -- a small, lightweight, RISC CPU soft core
 | +;; Project:    Zip CPU -- a small, lightweight, RISC CPU soft core
 | 
      
        | Line 7456... | Line 7469... | 
      
        | +       [(set_attr "ccresult" "set")])
 | +       [(set_attr "ccresult" "set")])
 | 
      
        | +;
 | +;
 | 
      
        | +;
 | +;
 | 
      
        | +;
 | +;
 | 
      
        | +(define_expand "sub<mode>3"
 | +(define_expand "sub<mode>3"
 | 
      
        | +       [(parallel [(set (match_operand:ZI 0 "register_operand" "=r")
 | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        | +                       (match_operand:ZI 2 "zip_opb_operand_p" "")))
 | +                       (match_operand:ZI 2 "zip_opb_operand_p" "")))])
 | 
      
        | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))])])
 |   | 
      
        | +(define_insn_and_split "sub<mode>3_split_reg"
 | +(define_insn_and_split "sub<mode>3_split_reg"
 | 
      
        | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))]
 | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))]
 | 
      
        | +       ""
 | +       ""
 | 
      
        | +       "#"
 | +       "#"
 | 
      
        | +       "(reload_completed)"
 | +       "(reload_completed)"
 | 
      
        | +       [(parallel [(set (match_dup 0) (minus:ZI (match_dup 1) (match_dup 2)))
 | +       [(parallel [(set (match_dup 0) (minus:ZI (match_dup 1) (match_dup 2)))
 | 
      
        | +       (clobber (reg:CC CC_REG))])]
 | +       (clobber (reg:CC CC_REG))])]
 | 
      
        | +       ""
 | +       ""
 | 
      
        | +       [(set_attr "ccresult" "set")])
 | +       [(set_attr "ccresult" "set") (set_attr "predicable" "yes")])
 | 
      
        | +(define_insn "sub<mode>3_reg_raw"
 | +(define_insn "sub<mode>3_reg_raw"
 | 
      
        | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | +               (minus:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))
 | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        | Line 7518... | Line 7530... | 
      
        | +                               (match_operand:ZI 3 "zip_opb_immv_p" "N"))))
 | +                               (match_operand:ZI 3 "zip_opb_immv_p" "N"))))
 | 
      
        | +       (clobber (reg:CC CC_REG))]
 | +       (clobber (reg:CC CC_REG))]
 | 
      
        | +       ""
 | +       ""
 | 
      
        | +       "SUB    %3+%2,%0"
 | +       "SUB    %3+%2,%0"
 | 
      
        | +       [(set_attr "ccresult" "set")])
 | +       [(set_attr "ccresult" "set")])
 | 
      
        | +(define_insn "mul<mode>3"
 | +(define_insn "mul<mode>3_oldstyle"
 | 
      
        | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        | +               (mult:ZI (match_operand:ZI 1 "register_operand" "%r")
 | +               (mult:ZI (match_operand:ZI 1 "register_operand" "%r")
 | 
      
        | +                       (match_operand:ZI 2 "register_operand" "r")))
 | +                       (match_operand:ZI 2 "register_operand" "r")))
 | 
      
        | +       (clobber (match_scratch:ZI 3 "=r"))
 | +       (clobber (match_scratch:ZI 3 "=r"))
 | 
      
        | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        | +       ; "(R0 != R1)&&(R0 != R2)&&(R0!=R3)&&(R1!=R2)&&(R1=R3)&&(R2!=R3)"
 | +       ; "(R0 != R1)&&(R0 != R2)&&(R0!=R3)&&(R1!=R2)&&(R1=R3)&&(R2!=R3)"
 | 
      
        | +       ""
 | +       "(!ZIP_LONGMPY)"
 | 
      
        | +       "MOV    %1,%0
 | +       "MOV    %1,%0
 | 
      
        | +       MPYS    %2,%0
 | +       MPYS    %2,%0
 | 
      
        | +       MOV     %1,%3
 | +       MOV     %1,%3
 | 
      
        | +       ROL     16,%3
 | +       ROL     16,%3
 | 
      
        | +       MPYS    %2,%3
 | +       MPYS    %2,%3
 | 
      
        | Line 7541... | Line 7553... | 
      
        | +       MPYS    %1,%3
 | +       MPYS    %1,%3
 | 
      
        | +       ROL     16,%3
 | +       ROL     16,%3
 | 
      
        | +       AND     0x0ffff,%3
 | +       AND     0x0ffff,%3
 | 
      
        | +       ADD     %3,%0"
 | +       ADD     %3,%0"
 | 
      
        | +       [(set_attr "ccresult" "unknown")])
 | +       [(set_attr "ccresult" "unknown")])
 | 
      
        | +
 | +;
 | 
      
        |   | +;
 | 
      
        |   | +(define_expand "mul<mode>3"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (match_operand:ZI 2 "zip_opb_operand_p" "")))]
 | 
      
        |   | +       "(ZIP_LONGMPY)")
 | 
      
        |   | +(define_insn_and_split "mul<mode>3_split_reg"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0) (mult:ZI (match_dup 1) (match_dup 2)))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn_and_split "mul<mode>3_split_off"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (plus:ZI (match_operand:ZI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:ZI 3 "zip_opb_immv_p" "N"))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0) (mult:ZI (match_dup 1)
 | 
      
        |   | +                       (plus:ZI (match_dup 2) (match_dup 3))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "mul<mode>3_reg_clobber"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPY\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "mul<mode>3_reg_raw"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (match_operand:ZI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPY\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "mul<mode>3_off_raw"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (plus:ZI (match_operand:ZI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:ZI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPY\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "mul<mode>3_off_clobber"
 | 
      
        |   | +       [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        |   | +               (mult:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        |   | +                       (plus:ZI (match_operand:ZI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:ZI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPY\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +;
 | 
      
        |   | +;
 | 
      
        |   | +(define_expand "smulsi3_highpart"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI (mult:DI
 | 
      
        |   | +               (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +               (sign_extend:DI (match_operand:SI 2 "zip_opb_operand_p" "")))
 | 
      
        |   | +               (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)")
 | 
      
        |   | +(define_insn_and_split "smulsi3_highpart_split_reg"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI (mult:DI
 | 
      
        |   | +               (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +               (sign_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0)
 | 
      
        |   | +               (truncate:SI (ashiftrt:DI
 | 
      
        |   | +                       (mult:DI
 | 
      
        |   | +                               (sign_extend:DI (match_dup 1))
 | 
      
        |   | +                               (sign_extend:DI (match_dup 2)))
 | 
      
        |   | +                       (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn_and_split "smulsi3_highpart_split_off"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +          (truncate:SI (ashift:DI (mult:DI
 | 
      
        |   | +               (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +               (sign_extend:DI
 | 
      
        |   | +                       (plus:SI (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:SI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +                       (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0)
 | 
      
        |   | +               (truncate:SI (ashiftrt:DI
 | 
      
        |   | +                       (mult:SI
 | 
      
        |   | +                               (sign_extend:DI (match_dup 1))
 | 
      
        |   | +                               (sign_extend:DI
 | 
      
        |   | +                                       (plus:SI (match_dup 2) (match_dup 3))))
 | 
      
        |   | +                       (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "smulsi3_highpart_reg_clobber"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +            (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:SI
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "smulsi3_highpart_reg_raw"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:SI
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "smulsi3_highpart_off_raw"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:SI
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                 (sign_extend:DI (plus:SI
 | 
      
        |   | +                               (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:SI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "smulsi3_highpart_off_clobber"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:SI
 | 
      
        |   | +                 (sign_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                 (sign_extend:DI (plus:SI
 | 
      
        |   | +                       (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                       (match_operand:SI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +;
 | 
      
        |   | +;
 | 
      
        |   | +(define_expand "umulsi3_highpart"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI (mult:DI
 | 
      
        |   | +               (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +               (zero_extend:DI (match_operand:SI 2 "zip_opb_operand_p" "")))
 | 
      
        |   | +               (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)")
 | 
      
        |   | +(define_insn_and_split "umulsi3_highpart_split_reg"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI (mult:DI
 | 
      
        |   | +               (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +               (zero_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0)
 | 
      
        |   | +               (truncate:SI (ashiftrt:DI
 | 
      
        |   | +                       (mult:SI
 | 
      
        |   | +                               (zero_extend:DI (match_dup 1))
 | 
      
        |   | +                               (zero_extend:DI (match_dup 2)))
 | 
      
        |   | +                       (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn_and_split "umulsi3_highpart_split_off"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +               (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:DI
 | 
      
        |   | +                 (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                 (zero_extend:DI
 | 
      
        |   | +                       (plus:SI (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:SI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +               (const_int 32))))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "#"
 | 
      
        |   | +       "(reload_completed)"
 | 
      
        |   | +       [(parallel [(set (match_dup 0)
 | 
      
        |   | +               (truncate:SI (ashiftrt:DI
 | 
      
        |   | +                       (mult:DI
 | 
      
        |   | +                               (zero_extend:DI (match_dup 1))
 | 
      
        |   | +                               (zero_extend:DI
 | 
      
        |   | +                                       (plus:SI (match_dup 2) (match_dup 3))))
 | 
      
        |   | +                       (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))])]
 | 
      
        |   | +       ""
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "umulsi3_highpart_reg_clobber"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:DI
 | 
      
        |   | +                   (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                   (zero_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "umulsi3_highpart_reg_raw"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:DI
 | 
      
        |   | +                  (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                  (zero_extend:DI (match_operand:SI 2 "zip_opb_single_operand_p" "rO")))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "umulsi3_highpart_off_raw"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:DI
 | 
      
        |   | +                   (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                   (zero_extend:DI (plus:SI
 | 
      
        |   | +                               (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                               (match_operand:DI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +(define_insn "umulsi3_highpart_off_clobber"
 | 
      
        |   | +       [(set (match_operand:SI 0 "register_operand" "=r")
 | 
      
        |   | +           (truncate:SI (ashiftrt:DI
 | 
      
        |   | +               (mult:DI
 | 
      
        |   | +                   (zero_extend:DI (match_operand:SI 1 "register_operand" "0"))
 | 
      
        |   | +                   (zero_extend:DI (plus:SI
 | 
      
        |   | +                       (match_operand:SI 2 "register_operand" "r")
 | 
      
        |   | +                       (match_operand:DI 3 "zip_opb_immv_p" "N"))))
 | 
      
        |   | +               (const_int 32))))
 | 
      
        |   | +       (clobber (reg:CC CC_REG))]
 | 
      
        |   | +       "(ZIP_LONGMPY)"
 | 
      
        |   | +       "MPYSHI\t%3+%2,%0"
 | 
      
        |   | +       [(set_attr "ccresult" "set")])
 | 
      
        |   | +;
 | 
      
        |   | +;
 | 
      
        | +(define_expand "div<mode>3"
 | +(define_expand "div<mode>3"
 | 
      
        | +       [(parallel [(set (match_operand:ZI 0 "register_operand" "=r")
 | +       [(parallel [(set (match_operand:ZI 0 "register_operand" "=r")
 | 
      
        | +               (div:ZI (match_operand:ZI 1 "register_operand" "0")
 | +               (div:ZI (match_operand:ZI 1 "register_operand" "0")
 | 
      
        | +                       (match_operand:ZI 2 "zip_opb_operand_p" "")))
 | +                       (match_operand:ZI 2 "zip_opb_operand_p" "")))
 | 
      
        | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))])]
 | +       (set (reg:CC CC_REG) (compare:CC (match_dup 0) (const_int 0)))])]
 | 
      
        | Line 8054... | Line 8325... | 
      
        | +                       if ((REG_P(XEXP(operands[1],0)))
 | +                       if ((REG_P(XEXP(operands[1],0)))
 | 
      
        | +                               &&(CONST_INT_P(XEXP(operands[1],1)))) {
 | +                               &&(CONST_INT_P(XEXP(operands[1],1)))) {
 | 
      
        | +                               static  char    buf[64];
 | +                               static  char    buf[64];
 | 
      
        | +                               sprintf(buf,
 | +                               sprintf(buf,
 | 
      
        | +                                       "LOD\t%ld(%%1),%%H0\n\tLOD\t%ld(%%1),%%L0",
 | +                                       "LOD\t%ld(%%1),%%H0\n\tLOD\t%ld(%%1),%%L0",
 | 
      
        | +                                       INTVAL(XEXP(operands[1],1)),
 | +                                       (long)INTVAL(XEXP(operands[1],1)),
 | 
      
        | +                                       INTVAL(XEXP(operands[1],1)+1));
 | +                                       (long)INTVAL(XEXP(operands[1],1)+1));
 | 
      
        | +                               return buf;
 | +                               return buf;
 | 
      
        | +                       }
 | +                       }
 | 
      
        | +               } return "BREAK";
 | +               } return "BREAK";
 | 
      
        | +       }
 | +       }
 | 
      
        | +       [(set_attr "predicable" "no") (set_attr "ccresult" "unchanged")])
 | +       [(set_attr "predicable" "no") (set_attr "ccresult" "unchanged")])
 | 
      
        | Line 8074... | Line 8345... | 
      
        | +                       if ((REG_P(XEXP(operands[0],0)))
 | +                       if ((REG_P(XEXP(operands[0],0)))
 | 
      
        | +                               &&(CONST_INT_P(XEXP(operands[0],1)))) {
 | +                               &&(CONST_INT_P(XEXP(operands[0],1)))) {
 | 
      
        | +                               static  char    buf[64];
 | +                               static  char    buf[64];
 | 
      
        | +                               sprintf(buf,
 | +                               sprintf(buf,
 | 
      
        | +                                       "STO\t%%H0,%ld(%%1)\n\tSTO\t%%L0,%ld(%%1)",
 | +                                       "STO\t%%H0,%ld(%%1)\n\tSTO\t%%L0,%ld(%%1)",
 | 
      
        | +                                       INTVAL(XEXP(operands[0],1)),
 | +                                       (long)INTVAL(XEXP(operands[0],1)),
 | 
      
        | +                                       INTVAL(XEXP(operands[0],1)+1));
 | +                                       (long)INTVAL(XEXP(operands[0],1)+1));
 | 
      
        | +                               return buf;
 | +                               return buf;
 | 
      
        | +                       }
 | +                       }
 | 
      
        | +               } return "BREAK";
 | +               } return "BREAK";
 | 
      
        | +       }
 | +       }
 | 
      
        | +       [(set_attr "predicable" "no") (set_attr "ccresult" "unchanged")])
 | +       [(set_attr "predicable" "no") (set_attr "ccresult" "unchanged")])
 | 
      
        | Line 8322... | Line 8593... | 
      
        | +       "CMP\t%1,%0"
 | +       "CMP\t%1,%0"
 | 
      
        | +       [(set_attr "ccresult" "set")])
 | +       [(set_attr "ccresult" "set")])
 | 
      
        | +(define_insn "cmp<mode>_off"
 | +(define_insn "cmp<mode>_off"
 | 
      
        | +       [(set (reg:CC CC_REG) (compare:CC
 | +       [(set (reg:CC CC_REG) (compare:CC
 | 
      
        | +               (match_operand:ZI 0 "register_operand" "r")
 | +               (match_operand:ZI 0 "register_operand" "r")
 | 
      
        | +               (plus (match_operand:ZI 1 "register_operand" "r")
 | +               (plus:SI (match_operand:ZI 1 "register_operand" "r")
 | 
      
        | +                       (match_operand 2 "zip_opb_immv_p" "N"))))]
 | +                       (match_operand 2 "zip_opb_immv_p" "N"))))]
 | 
      
        | +       ""
 | +       ""
 | 
      
        | +       "CMP\t%2+%1,%0"
 | +       "CMP\t%2+%1,%0"
 | 
      
        | +       [(set_attr "ccresult" "set")])
 | +       [(set_attr "ccresult" "set")])
 | 
      
        | +(define_insn "test<mode>"
 | +(define_insn "test<mode>"
 | 
      
        | Line 10042... | Line 10313... | 
      
        |  *)
 |  *)
 | 
      
        |         echo "*** Configuration ${target} not supported" 1>&2
 |         echo "*** Configuration ${target} not supported" 1>&2
 | 
      
        |         exit 1
 |         exit 1
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/cse.c gcc-5.3.0-zip/gcc/cse.c
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/cse.c gcc-5.3.0-zip/gcc/cse.c
 | 
      
        | --- gcc-5.3.0-original/gcc/cse.c        2015-02-03 15:41:38.000000000 -0500
 | --- gcc-5.3.0-original/gcc/cse.c        2015-02-03 15:41:38.000000000 -0500
 | 
      
        | +++ gcc-5.3.0-zip/gcc/cse.c     2016-04-05 22:26:30.816200542 -0400
 | +++ gcc-5.3.0-zip/gcc/cse.c     2016-05-04 11:07:38.874831028 -0400
 | 
      
        | @@ -634,6 +634,15 @@
 | @@ -70,6 +70,7 @@
 | 
      
        |   |  #include "dbgcnt.h"
 | 
      
        |   |  #include "rtl-iter.h"
 | 
      
        |   |  
 | 
      
        |   | +
 | 
      
        |   |  /* The basic idea of common subexpression elimination is to go
 | 
      
        |   |     through the code, keeping a record of expressions that would
 | 
      
        |   |     have the same value at the current scan point, and replacing
 | 
      
        |   | @@ -634,6 +635,16 @@
 | 
      
        |  
 |  
 | 
      
        |  /* Nonzero if X has the form (PLUS frame-pointer integer).  */
 |  /* Nonzero if X has the form (PLUS frame-pointer integer).  */
 | 
      
        |  
 |  
 | 
      
        | +// #define     DO_ZIP_DEBUGS
 | +// #define     DO_ZIP_DEBUGS
 | 
      
        | +#ifdef DO_ZIP_DEBUGS
 | +#ifdef DO_ZIP_DEBUGS
 | 
      
        | +#include <stdio.h>
 | +#include <stdio.h>
 | 
      
        | +extern void zip_debug_rtx(const_rtx);
 | +extern void zip_debug_rtx(const_rtx);
 | 
      
        |   | +extern void    zip_debug_rtx_pfx(char *, const_rtx);
 | 
      
        | +#define        ZIP_DEBUG_LINE(STR,RTX) do { fprintf(stderr, "%s\n", STR); zip_debug_rtx(RTX); } while(0)
 | +#define        ZIP_DEBUG_LINE(STR,RTX) do { fprintf(stderr, "%s\n", STR); zip_debug_rtx(RTX); } while(0)
 | 
      
        | +#else
 | +#else
 | 
      
        | +#define        ZIP_DEBUG_LINE(STR,RTX)
 | +#define        ZIP_DEBUG_LINE(STR,RTX)
 | 
      
        | +#endif
 | +#endif
 | 
      
        | +
 | +
 | 
      
        |  static bool
 |  static bool
 | 
      
        |  fixed_base_plus_p (rtx x)
 |  fixed_base_plus_p (rtx x)
 | 
      
        |  {
 |  {
 | 
      
        | @@ -2898,6 +2907,7 @@
 | @@ -2898,6 +2909,7 @@
 | 
      
        |           validate_canon_reg (&XVECEXP (x, i, j), insn);
 |           validate_canon_reg (&XVECEXP (x, i, j), insn);
 | 
      
        |      }
 |      }
 | 
      
        |  
 |  
 | 
      
        | +       ZIP_DEBUG_LINE("CANON-REG-RTN", x);
 | +       ZIP_DEBUG_LINE("CANON-REG-RTN", x);
 | 
      
        |    return x;
 |    return x;
 | 
      
        |  }
 |  }
 | 
      
        |  
 |  
 | 
      
        | @@ -3144,14 +3154,16 @@
 | @@ -3125,6 +3137,8 @@
 | 
      
        |   |    rtx new_rtx = 0;
 | 
      
        |   |    int changed = 0;
 | 
      
        |   |  
 | 
      
        |   | +ZIP_DEBUG_LINE("CSE:FOLD-RTX", insn);
 | 
      
        |   | +
 | 
      
        |   |    /* Operands of X.  */
 | 
      
        |   |    /* Workaround -Wmaybe-uninitialized false positive during
 | 
      
        |   |       profiledbootstrap by initializing them.  */
 | 
      
        |   | @@ -3144,14 +3158,16 @@
 | 
      
        |    if (x == 0)
 |    if (x == 0)
 | 
      
        |      return x;
 |      return x;
 | 
      
        |  
 |  
 | 
      
        | +       ZIP_DEBUG_LINE("FOLD-RTX", x);
 | +       ZIP_DEBUG_LINE("FOLD-RTX", x);
 | 
      
        |    /* Try to perform some initial simplifications on X.  */
 |    /* Try to perform some initial simplifications on X.  */
 | 
      
        | Line 10086... | Line 10375... | 
      
        | +       ZIP_DEBUG_LINE("FOLD-RTX-NEW", new_rtx);
 | +       ZIP_DEBUG_LINE("FOLD-RTX-NEW", new_rtx);
 | 
      
        | +        return new_rtx; }
 | +        return new_rtx; }
 | 
      
        |        return x;
 |        return x;
 | 
      
        |  
 |  
 | 
      
        |      case CONST:
 |      case CONST:
 | 
      
        | @@ -3208,6 +3220,8 @@
 | @@ -3208,6 +3224,8 @@
 | 
      
        |         rtx folded_arg = XEXP (x, i), const_arg;
 |         rtx folded_arg = XEXP (x, i), const_arg;
 | 
      
        |         machine_mode mode_arg = GET_MODE (folded_arg);
 |         machine_mode mode_arg = GET_MODE (folded_arg);
 | 
      
        |  
 |  
 | 
      
        | +       ZIP_DEBUG_LINE("FOLD-RTX-ARG = ", folded_arg);
 | +       ZIP_DEBUG_LINE("FOLD-RTX-ARG = ", folded_arg);
 | 
      
        | +
 | +
 | 
      
        |         switch (GET_CODE (folded_arg))
 |         switch (GET_CODE (folded_arg))
 | 
      
        |           {
 |           {
 | 
      
        |           case MEM:
 |           case MEM:
 | 
      
        | @@ -3317,6 +3331,7 @@
 | @@ -3317,6 +3335,7 @@
 | 
      
        |         }
 |         }
 | 
      
        |  
 |  
 | 
      
        |        apply_change_group ();
 |        apply_change_group ();
 | 
      
        | +       ZIP_DEBUG_LINE("FOLD-RTX-CANONICALIZED = ", insn);
 | +       ZIP_DEBUG_LINE("FOLD-RTX-CANONICALIZED = ", insn);
 | 
      
        |      }
 |      }
 | 
      
        |  
 |  
 | 
      
        |    /* If X is an arithmetic operation, see if we can simplify it.  */
 |    /* If X is an arithmetic operation, see if we can simplify it.  */
 | 
      
        | @@ -4203,6 +4218,7 @@
 | @@ -4203,6 +4222,7 @@
 | 
      
        |  {
 |  {
 | 
      
        |    rtx dest = SET_DEST (set);
 |    rtx dest = SET_DEST (set);
 | 
      
        |    rtx src = SET_SRC (set);
 |    rtx src = SET_SRC (set);
 | 
      
        | +       ZIP_DEBUG_LINE("TRY-BACK-SUBSTITUTE-REG", insn);
 | +       ZIP_DEBUG_LINE("TRY-BACK-SUBSTITUTE-REG", insn);
 | 
      
        |  
 |  
 | 
      
        |    if (REG_P (dest)
 |    if (REG_P (dest)
 | 
      
        |        && REG_P (src) && ! HARD_REGISTER_P (src)
 |        && REG_P (src) && ! HARD_REGISTER_P (src)
 | 
      
        | @@ -4258,6 +4274,7 @@
 | @@ -4258,6 +4278,7 @@
 | 
      
        |             }
 |             }
 | 
      
        |         }
 |         }
 | 
      
        |      }
 |      }
 | 
      
        | +       ZIP_DEBUG_LINE("TRY-BACK-SUBSTITUTE-REG, done", insn);
 | +       ZIP_DEBUG_LINE("TRY-BACK-SUBSTITUTE-REG, done", insn);
 | 
      
        |  }
 |  }
 | 
      
        |  
 |  
 | 
      
        |  /* Record all the SETs in this instruction into SETS_PTR,
 |  /* Record all the SETs in this instruction into SETS_PTR,
 | 
      
        | @@ -4351,6 +4368,7 @@
 | @@ -4351,6 +4372,7 @@
 | 
      
        |    rtx tem;
 |    rtx tem;
 | 
      
        |    rtx x = PATTERN (insn);
 |    rtx x = PATTERN (insn);
 | 
      
        |    int i;
 |    int i;
 | 
      
        | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN", insn);
 | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN", insn);
 | 
      
        |  
 |  
 | 
      
        |    if (CALL_P (insn))
 |    if (CALL_P (insn))
 | 
      
        |      {
 |      {
 | 
      
        | @@ -4364,6 +4382,7 @@
 | @@ -4364,6 +4386,7 @@
 | 
      
        |        canon_reg (SET_SRC (x), insn);
 |        canon_reg (SET_SRC (x), insn);
 | 
      
        |        apply_change_group ();
 |        apply_change_group ();
 | 
      
        |        fold_rtx (SET_SRC (x), insn);
 |        fold_rtx (SET_SRC (x), insn);
 | 
      
        | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN, was set:", insn);
 | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN, was set:", insn);
 | 
      
        |      }
 |      }
 | 
      
        |    else if (GET_CODE (x) == CLOBBER)
 |    else if (GET_CODE (x) == CLOBBER)
 | 
      
        |      {
 |      {
 | 
      
        | @@ -4400,6 +4419,7 @@
 | @@ -4400,6 +4423,7 @@
 | 
      
        |      canon_reg (PATTERN (insn), insn);
 |      canon_reg (PATTERN (insn), insn);
 | 
      
        |    else if (GET_CODE (x) == PARALLEL)
 |    else if (GET_CODE (x) == PARALLEL)
 | 
      
        |      {
 |      {
 | 
      
        | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN/parallel", insn);
 | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN/parallel", insn);
 | 
      
        |        for (i = XVECLEN (x, 0) - 1; i >= 0; i--)
 |        for (i = XVECLEN (x, 0) - 1; i >= 0; i--)
 | 
      
        |         {
 |         {
 | 
      
        |           rtx y = XVECEXP (x, 0, i);
 |           rtx y = XVECEXP (x, 0, i);
 | 
      
        | @@ -4491,6 +4511,7 @@
 | @@ -4491,6 +4515,7 @@
 | 
      
        |  
 |  
 | 
      
        |       The result of apply_change_group can be ignored; see canon_reg.  */
 |       The result of apply_change_group can be ignored; see canon_reg.  */
 | 
      
        |  
 |  
 | 
      
        | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN/done", insn);
 | +       ZIP_DEBUG_LINE("CANONICALIZE-INSN/done", insn);
 | 
      
        |    apply_change_group ();
 |    apply_change_group ();
 | 
      
        | Line 10401... | Line 10690... | 
      
        | +
 | +
 | 
      
        | +./include/gcc-common.texi:11:  ==> Fatal error occurred, no output PDF file pro
 | +./include/gcc-common.texi:11:  ==> Fatal error occurred, no output PDF file pro
 | 
      
        | +duced!
 | +duced!
 | 
      
        | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/emit-rtl.c gcc-5.3.0-zip/gcc/emit-rtl.c
 | diff -Naur '--exclude=*.swp' gcc-5.3.0-original/gcc/emit-rtl.c gcc-5.3.0-zip/gcc/emit-rtl.c
 | 
      
        | --- gcc-5.3.0-original/gcc/emit-rtl.c   2015-08-05 07:20:59.000000000 -0400
 | --- gcc-5.3.0-original/gcc/emit-rtl.c   2015-08-05 07:20:59.000000000 -0400
 | 
      
        | +++ gcc-5.3.0-zip/gcc/emit-rtl.c        2016-04-20 20:54:45.148982373 -0400
 | +++ gcc-5.3.0-zip/gcc/emit-rtl.c        2016-05-02 07:48:47.925017436 -0400
 | 
      
        | @@ -81,6 +81,15 @@
 | @@ -81,6 +81,15 @@
 | 
      
        |  #include "builtins.h"
 |  #include "builtins.h"
 | 
      
        |  #include "rtl-iter.h"
 |  #include "rtl-iter.h"
 | 
      
        |  
 |  
 | 
      
        | +// #define     DO_ZIP_DEBUGS
 | +// #define     DO_ZIP_DEBUGS
 |