From a66d31dbaf25149762431af40592d9e5ef3ee06b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 22 Dec 2016 17:08:27 +0100 Subject: gcc: update to 6.3.0 --- toolchain/gcc/patches/6.2.0/add-crtreloc.frv | 12 - .../gcc/patches/6.2.0/bfin-define-REENTRANT.patch | 13 - ...ig-bfin-use-the-generic-linker-version-in.patch | 1944 -------------------- ...bgcc-mkmap-symver-support-skip_underscore.patch | 60 - toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch | 37 - toolchain/gcc/patches/6.2.0/fix-m86k-libgcc.patch | 11 - .../gcc/patches/6.2.0/frv-remove-write-macro.patch | 52 - toolchain/gcc/patches/6.2.0/go-libgcc.patch | 12 - toolchain/gcc/patches/6.2.0/j2.patch | 342 ---- .../6.2.0/m68k-disable-atomic-uclinux.patch | 12 - toolchain/gcc/patches/6.2.0/nios2-softfp.patch | 14 - toolchain/gcc/patches/6.2.0/s390-musl.patch | 15 - toolchain/gcc/patches/6.2.0/uclinux-threads.patch | 13 - toolchain/gcc/patches/6.2.0/xtensa-musl.patch | 27 - toolchain/gcc/patches/6.3.0/add-crtreloc.frv | 12 + .../gcc/patches/6.3.0/bfin-define-REENTRANT.patch | 13 + ...ig-bfin-use-the-generic-linker-version-in.patch | 1944 ++++++++++++++++++++ ...bgcc-mkmap-symver-support-skip_underscore.patch | 60 + toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch | 37 + toolchain/gcc/patches/6.3.0/fix-m86k-libgcc.patch | 11 + .../gcc/patches/6.3.0/frv-remove-write-macro.patch | 52 + toolchain/gcc/patches/6.3.0/go-libgcc.patch | 12 + toolchain/gcc/patches/6.3.0/j2.patch | 342 ++++ .../6.3.0/m68k-disable-atomic-uclinux.patch | 12 + toolchain/gcc/patches/6.3.0/nios2-softfp.patch | 14 + toolchain/gcc/patches/6.3.0/s390-musl.patch | 15 + toolchain/gcc/patches/6.3.0/uclinux-threads.patch | 13 + toolchain/gcc/patches/6.3.0/xtensa-musl.patch | 27 + 28 files changed, 2564 insertions(+), 2564 deletions(-) delete mode 100644 toolchain/gcc/patches/6.2.0/add-crtreloc.frv delete mode 100644 toolchain/gcc/patches/6.2.0/bfin-define-REENTRANT.patch delete mode 100644 toolchain/gcc/patches/6.2.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch delete mode 100644 toolchain/gcc/patches/6.2.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch delete mode 100644 toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch delete mode 100644 toolchain/gcc/patches/6.2.0/fix-m86k-libgcc.patch delete mode 100644 toolchain/gcc/patches/6.2.0/frv-remove-write-macro.patch delete mode 100644 toolchain/gcc/patches/6.2.0/go-libgcc.patch delete mode 100644 toolchain/gcc/patches/6.2.0/j2.patch delete mode 100644 toolchain/gcc/patches/6.2.0/m68k-disable-atomic-uclinux.patch delete mode 100644 toolchain/gcc/patches/6.2.0/nios2-softfp.patch delete mode 100644 toolchain/gcc/patches/6.2.0/s390-musl.patch delete mode 100644 toolchain/gcc/patches/6.2.0/uclinux-threads.patch delete mode 100644 toolchain/gcc/patches/6.2.0/xtensa-musl.patch create mode 100644 toolchain/gcc/patches/6.3.0/add-crtreloc.frv create mode 100644 toolchain/gcc/patches/6.3.0/bfin-define-REENTRANT.patch create mode 100644 toolchain/gcc/patches/6.3.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch create mode 100644 toolchain/gcc/patches/6.3.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch create mode 100644 toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch create mode 100644 toolchain/gcc/patches/6.3.0/fix-m86k-libgcc.patch create mode 100644 toolchain/gcc/patches/6.3.0/frv-remove-write-macro.patch create mode 100644 toolchain/gcc/patches/6.3.0/go-libgcc.patch create mode 100644 toolchain/gcc/patches/6.3.0/j2.patch create mode 100644 toolchain/gcc/patches/6.3.0/m68k-disable-atomic-uclinux.patch create mode 100644 toolchain/gcc/patches/6.3.0/nios2-softfp.patch create mode 100644 toolchain/gcc/patches/6.3.0/s390-musl.patch create mode 100644 toolchain/gcc/patches/6.3.0/uclinux-threads.patch create mode 100644 toolchain/gcc/patches/6.3.0/xtensa-musl.patch (limited to 'toolchain/gcc/patches') diff --git a/toolchain/gcc/patches/6.2.0/add-crtreloc.frv b/toolchain/gcc/patches/6.2.0/add-crtreloc.frv deleted file mode 100644 index 1fa7024b6..000000000 --- a/toolchain/gcc/patches/6.2.0/add-crtreloc.frv +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-6.1.0.orig/gcc/config/frv/linux.h gcc-6.1.0/gcc/config/frv/linux.h ---- gcc-6.1.0.orig/gcc/config/frv/linux.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.1.0/gcc/config/frv/linux.h 2016-07-24 21:22:08.566253376 +0200 -@@ -27,7 +27,7 @@ - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ -+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \ - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" - - #undef ENDFILE_SPEC diff --git a/toolchain/gcc/patches/6.2.0/bfin-define-REENTRANT.patch b/toolchain/gcc/patches/6.2.0/bfin-define-REENTRANT.patch deleted file mode 100644 index 20f6a8906..000000000 --- a/toolchain/gcc/patches/6.2.0/bfin-define-REENTRANT.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Nur gcc-6.2.0.orig/gcc/config/bfin/linux.h gcc-6.2.0/gcc/config/bfin/linux.h ---- gcc-6.2.0.orig/gcc/config/bfin/linux.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/bfin/linux.h 2016-09-30 20:48:17.446636819 +0200 -@@ -38,6 +38,9 @@ - "%{static:--start-group} %{mfast-fp:-lbffastfp} %G %L %{static:--end-group} \ - %{!static:%{mfast-fp:-lbffastfp} %G}" - -+#undef CPP_SPEC -+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ - #undef LINK_SPEC - #define LINK_SPEC "\ - %{mfdpic: -m elf32bfinfd -z text} %{shared} %{pie} \ diff --git a/toolchain/gcc/patches/6.2.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/toolchain/gcc/patches/6.2.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch deleted file mode 100644 index 78789d3b0..000000000 --- a/toolchain/gcc/patches/6.2.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch +++ /dev/null @@ -1,1944 +0,0 @@ -From 56d606931716de30a89a40dc69a9282c1b4e2880 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 18:04:06 +0200 -Subject: [PATCH] libgcc/config/bfin: use the generic linker version - information - -This commit makes the Blackfin platform use the generic linker version -information, rather than a completely duplicated file, specific for the -Blackfin architecture. - -This is made possible using the newly introduced skip_underscore -variable of the mkmap-symver script. - -This also allows to get a correct linker version file, with symbol names -matching the ones found in libgcc. Thanks to this, the necessary symbols -are marked "GLOBAL" instead of "LOCAL", which makes them visible at link -time, and solves a large number of "undefined reference" -issues. Indeed, the Blackfin specific linker version script had an extra -underscore in front of all symbols, which meant none of them matched the -symbols in libgcc, and therefore all libgcc symbols were marked as -"LOCAL", making them invisible for linking. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/config/bfin/libgcc-glibc.ver | 1894 +---------------------------------- - libgcc/config/bfin/t-linux | 3 +- - 2 files changed, 10 insertions(+), 1893 deletions(-) - -diff --git a/libgcc/config/bfin/libgcc-glibc.ver b/libgcc/config/bfin/libgcc-glibc.ver -index b1bd2df..2af3df7 100644 ---- a/libgcc/config/bfin/libgcc-glibc.ver -+++ b/libgcc/config/bfin/libgcc-glibc.ver -@@ -16,1898 +16,8 @@ - # along with GCC; see the file COPYING3. If not see - # . - --GCC_3.0 { -- # libgcc1 integer symbols -- ___absvsi2 -- ___addvsi3 -- ___ashlsi3 -- ___ashrsi3 -- ___divsi3 -- ___lshrsi3 -- ___modsi3 -- ___mulsi3 -- ___mulvsi3 -- ___negvsi2 -- ___subvsi3 -- ___udivsi3 -- ___umodsi3 -- -- # libgcc1 floating point symbols -- ___addsf3 -- ___adddf3 -- ___addxf3 -- ___addtf3 -- ___divsf3 -- ___divdf3 -- ___divxf3 -- ___divtf3 -- ___eqsf2 -- ___eqdf2 -- ___eqxf2 -- ___eqtf2 -- ___extenddfxf2 -- ___extenddftf2 -- ___extendsfdf2 -- ___extendsfxf2 -- ___extendsftf2 -- ___fixsfsi -- ___fixdfsi -- ___fixxfsi -- ___fixtfsi -- ___floatsisf -- ___floatsidf -- ___floatsixf -- ___floatsitf -- ___gesf2 -- ___gedf2 -- ___gexf2 -- ___getf2 -- ___gtsf2 -- ___gtdf2 -- ___gtxf2 -- ___gttf2 -- ___lesf2 -- ___ledf2 -- ___lexf2 -- ___letf2 -- ___ltsf2 -- ___ltdf2 -- ___ltxf2 -- ___lttf2 -- ___mulsf3 -- ___muldf3 -- ___mulxf3 -- ___multf3 -- ___negsf2 -- ___negdf2 -- ___negxf2 -- ___negtf2 -- ___nesf2 -- ___nedf2 -- ___nexf2 -- ___netf2 -- ___subsf3 -- ___subdf3 -- ___subxf3 -- ___subtf3 -- ___truncdfsf2 -- ___truncxfsf2 -- ___trunctfsf2 -- ___truncxfdf2 -- ___trunctfdf2 -- -- # libgcc2 DImode arithmetic (for 32-bit targets). -- ___absvdi2 -- ___addvdi3 -- ___ashldi3 -- ___ashrdi3 -- ___cmpdi2 -- ___divdi3 -- ___ffsdi2 -- ___fixdfdi -- ___fixsfdi -- ___fixtfdi -- ___fixxfdi -- ___fixunsdfdi -- ___fixunsdfsi -- ___fixunssfsi -- ___fixunssfdi -- ___fixunstfdi -- ___fixunstfsi -- ___fixunsxfdi -- ___fixunsxfsi -- ___floatdidf -- ___floatdisf -- ___floatdixf -- ___floatditf -- ___lshrdi3 -- ___moddi3 -- ___muldi3 -- ___mulvdi3 -- ___negdi2 -- ___negvdi2 -- ___subvdi3 -- ___ucmpdi2 -- ___udivdi3 -- ___udivmoddi4 -- ___umoddi3 -- -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___ashlti3 -- ___ashrti3 -- ___cmpti2 -- ___divti3 -- ___ffsti2 -- ___fixdfti -- ___fixsfti -- ___fixtfti -- ___fixxfti -- ___lshrti3 -- ___modti3 -- ___multi3 -- ___negti2 -- ___ucmpti2 -- ___udivmodti4 -- ___udivti3 -- ___umodti3 -- ___fixunsdfti -- ___fixunssfti -- ___fixunstfti -- ___fixunsxfti -- ___floattidf -- ___floattisf -- ___floattixf -- ___floattitf -- -- # Used to deal with trampoline initialization on some platforms -- ___clear_cache -- -- # EH symbols -- __Unwind_DeleteException -- __Unwind_Find_FDE -- __Unwind_ForcedUnwind -- __Unwind_GetGR -- __Unwind_GetIP -- __Unwind_GetLanguageSpecificData -- __Unwind_GetRegionStart -- __Unwind_GetTextRelBase -- __Unwind_GetDataRelBase -- __Unwind_RaiseException -- __Unwind_Resume -- __Unwind_SetGR -- __Unwind_SetIP -- ___deregister_frame -- ___deregister_frame_info -- ___deregister_frame_info_bases -- ___register_frame -- ___register_frame_info -- ___register_frame_info_bases -- ___register_frame_info_table -- ___register_frame_info_table_bases -- ___register_frame_table -- -- # SjLj EH symbols -- __Unwind_SjLj_Register -- __Unwind_SjLj_Unregister -- __Unwind_SjLj_RaiseException -- __Unwind_SjLj_ForcedUnwind -- __Unwind_SjLj_Resume --} -- --%inherit GCC_3.3 GCC_3.0 --GCC_3.3 { -- __Unwind_FindEnclosingFunction -- __Unwind_GetCFA -- __Unwind_Backtrace -- __Unwind_Resume_or_Rethrow -- __Unwind_SjLj_Resume_or_Rethrow --} -- --%inherit GCC_3.3.1 GCC_3.3 --GCC_3.3.1 { -- ___gcc_personality_sj0 -- ___gcc_personality_v0 --} -- --%inherit GCC_3.3.2 GCC_3.3.1 --GCC_3.3.2 { --} --%inherit GCC_3.3.4 GCC_3.3.2 --GCC_3.3.4 { -- ___unorddf2 -- ___unordsf2 --} -- --%inherit GCC_3.4 GCC_3.3.4 --GCC_3.4 { -- # bit scanning and counting built-ins -- ___clzsi2 -- ___clzdi2 -- ___clzti2 -- ___ctzsi2 -- ___ctzdi2 -- ___ctzti2 -- ___popcountsi2 -- ___popcountdi2 -- ___popcountti2 -- ___paritysi2 -- ___paritydi2 -- ___parityti2 --} -- --%inherit GCC_3.4.2 GCC_3.4 --GCC_3.4.2 { -- # Used to deal with trampoline initialization on some platforms -- ___enable_execute_stack -- ___trampoline_setup --} -- --%inherit GCC_3.4.4 GCC_3.4.2 --GCC_3.4.4 { -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___absvti2 -- ___addvti3 -- ___mulvti3 -- ___negvti2 -- ___subvti3 --} -- --%inherit GCC_4.0.0 GCC_3.4.4 --GCC_4.0.0 { -- # libgcc2 __builtin_powi helpers. -- ___powisf2 -- ___powidf2 -- ___powixf2 -- ___powitf2 -- -- # c99 compliant complex arithmetic -- ___divsc3 -- ___divdc3 -- ___divxc3 -- ___divtc3 -- ___mulsc3 -- ___muldc3 -- ___mulxc3 -- ___multc3 --} -- - %inherit GCC_4.1.0 GCC_4.0.0 - GCC_4.1.0 { -- ___smulsi3_highpart -- ___umulsi3_highpart --} -- --%inherit GCC_4.2.0 GCC_4.1.0 --GCC_4.2.0 { -- # unsigned-to-floating conversions -- ___floatunsisf -- ___floatunsidf -- ___floatunsixf -- ___floatunsitf -- ___floatundidf -- ___floatundisf -- ___floatundixf -- ___floatunditf -- ___floatuntidf -- ___floatuntisf -- ___floatuntixf -- ___floatuntitf -- __Unwind_GetIPInfo --} -- --%inherit GCC_4.3.0 GCC_4.2.0 --GCC_4.3.0 { -- # byte swapping routines -- ___bswapsi2 -- ___bswapdi2 -- ___emutls_get_address -- ___emutls_register_common -- ___ffssi2 -- ___extendxftf2 -- ___trunctfxf2 -- -- # fixed-point routines -- ___addqq3 -- ___addhq3 -- ___addsq3 -- ___adddq3 -- ___addtq3 -- ___adduqq3 -- ___adduhq3 -- ___addusq3 -- ___addudq3 -- ___addutq3 -- ___addha3 -- ___addsa3 -- ___addda3 -- ___addta3 -- ___adduha3 -- ___addusa3 -- ___adduda3 -- ___adduta3 -- ___ssaddqq3 -- ___ssaddhq3 -- ___ssaddsq3 -- ___ssadddq3 -- ___ssaddtq3 -- ___ssaddha3 -- ___ssaddsa3 -- ___ssaddda3 -- ___ssaddta3 -- ___usadduqq3 -- ___usadduhq3 -- ___usaddusq3 -- ___usaddudq3 -- ___usaddutq3 -- ___usadduha3 -- ___usaddusa3 -- ___usadduda3 -- ___usadduta3 -- ___subqq3 -- ___subhq3 -- ___subsq3 -- ___subdq3 -- ___subtq3 -- ___subuqq3 -- ___subuhq3 -- ___subusq3 -- ___subudq3 -- ___subutq3 -- ___subha3 -- ___subsa3 -- ___subda3 -- ___subta3 -- ___subuha3 -- ___subusa3 -- ___subuda3 -- ___subuta3 -- ___sssubqq3 -- ___sssubhq3 -- ___sssubsq3 -- ___sssubdq3 -- ___sssubtq3 -- ___sssubha3 -- ___sssubsa3 -- ___sssubda3 -- ___sssubta3 -- ___ussubuqq3 -- ___ussubuhq3 -- ___ussubusq3 -- ___ussubudq3 -- ___ussubutq3 -- ___ussubuha3 -- ___ussubusa3 -- ___ussubuda3 -- ___ussubuta3 -- ___mulqq3 -- ___mulhq3 -- ___mulsq3 -- ___muldq3 -- ___multq3 -- ___muluqq3 -- ___muluhq3 -- ___mulusq3 -- ___muludq3 -- ___mulutq3 -- ___mulha3 -- ___mulsa3 -- ___mulda3 -- ___multa3 -- ___muluha3 -- ___mulusa3 -- ___muluda3 -- ___muluta3 -- ___ssmulqq3 -- ___ssmulhq3 -- ___ssmulsq3 -- ___ssmuldq3 -- ___ssmultq3 -- ___ssmulha3 -- ___ssmulsa3 -- ___ssmulda3 -- ___ssmulta3 -- ___usmuluqq3 -- ___usmuluhq3 -- ___usmulusq3 -- ___usmuludq3 -- ___usmulutq3 -- ___usmuluha3 -- ___usmulusa3 -- ___usmuluda3 -- ___usmuluta3 -- ___divqq3 -- ___divhq3 -- ___divsq3 -- ___divdq3 -- ___divtq3 -- ___divha3 -- ___divsa3 -- ___divda3 -- ___divta3 -- ___udivuqq3 -- ___udivuhq3 -- ___udivusq3 -- ___udivudq3 -- ___udivutq3 -- ___udivuha3 -- ___udivusa3 -- ___udivuda3 -- ___udivuta3 -- ___ssdivqq3 -- ___ssdivhq3 -- ___ssdivsq3 -- ___ssdivdq3 -- ___ssdivtq3 -- ___ssdivha3 -- ___ssdivsa3 -- ___ssdivda3 -- ___ssdivta3 -- ___usdivuqq3 -- ___usdivuhq3 -- ___usdivusq3 -- ___usdivudq3 -- ___usdivutq3 -- ___usdivuha3 -- ___usdivusa3 -- ___usdivuda3 -- ___usdivuta3 -- ___negqq2 -- ___neghq2 -- ___negsq2 -- ___negdq2 -- ___negtq2 -- ___neguqq2 -- ___neguhq2 -- ___negusq2 -- ___negudq2 -- ___negutq2 -- ___negha2 -- ___negsa2 -- ___negda2 -- ___negta2 -- ___neguha2 -- ___negusa2 -- ___neguda2 -- ___neguta2 -- ___ssnegqq2 -- ___ssneghq2 -- ___ssnegsq2 -- ___ssnegdq2 -- ___ssnegtq2 -- ___ssnegha2 -- ___ssnegsa2 -- ___ssnegda2 -- ___ssnegta2 -- ___usneguqq2 -- ___usneguhq2 -- ___usnegusq2 -- ___usnegudq2 -- ___usnegutq2 -- ___usneguha2 -- ___usnegusa2 -- ___usneguda2 -- ___usneguta2 -- ___ashlqq3 -- ___ashlhq3 -- ___ashlsq3 -- ___ashldq3 -- ___ashltq3 -- ___ashluqq3 -- ___ashluhq3 -- ___ashlusq3 -- ___ashludq3 -- ___ashlutq3 -- ___ashlha3 -- ___ashlsa3 -- ___ashlda3 -- ___ashlta3 -- ___ashluha3 -- ___ashlusa3 -- ___ashluda3 -- ___ashluta3 -- ___ashrqq3 -- ___ashrhq3 -- ___ashrsq3 -- ___ashrdq3 -- ___ashrtq3 -- ___ashrha3 -- ___ashrsa3 -- ___ashrda3 -- ___ashrta3 -- ___lshruqq3 -- ___lshruhq3 -- ___lshrusq3 -- ___lshrudq3 -- ___lshrutq3 -- ___lshruha3 -- ___lshrusa3 -- ___lshruda3 -- ___lshruta3 -- ___ssashlqq3 -- ___ssashlhq3 -- ___ssashlsq3 -- ___ssashldq3 -- ___ssashltq3 -- ___ssashlha3 -- ___ssashlsa3 -- ___ssashlda3 -- ___ssashlta3 -- ___usashluqq3 -- ___usashluhq3 -- ___usashlusq3 -- ___usashludq3 -- ___usashlutq3 -- ___usashluha3 -- ___usashlusa3 -- ___usashluda3 -- ___usashluta3 -- ___cmpqq2 -- ___cmphq2 -- ___cmpsq2 -- ___cmpdq2 -- ___cmptq2 -- ___cmpuqq2 -- ___cmpuhq2 -- ___cmpusq2 -- ___cmpudq2 -- ___cmputq2 -- ___cmpha2 -- ___cmpsa2 -- ___cmpda2 -- ___cmpta2 -- ___cmpuha2 -- ___cmpusa2 -- ___cmpuda2 -- ___cmputa2 -- ___fractqqhq2 -- ___fractqqsq2 -- ___fractqqdq2 -- ___fractqqtq2 -- ___fractqqha -- ___fractqqsa -- ___fractqqda -- ___fractqqta -- ___fractqquqq -- ___fractqquhq -- ___fractqqusq -- ___fractqqudq -- ___fractqqutq -- ___fractqquha -- ___fractqqusa -- ___fractqquda -- ___fractqquta -- ___fractqqqi -- ___fractqqhi -- ___fractqqsi -- ___fractqqdi -- ___fractqqti -- ___fractqqsf -- ___fractqqdf -- ___fracthqqq2 -- ___fracthqsq2 -- ___fracthqdq2 -- ___fracthqtq2 -- ___fracthqha -- ___fracthqsa -- ___fracthqda -- ___fracthqta -- ___fracthquqq -- ___fracthquhq -- ___fracthqusq -- ___fracthqudq -- ___fracthqutq -- ___fracthquha -- ___fracthqusa -- ___fracthquda -- ___fracthquta -- ___fracthqqi -- ___fracthqhi -- ___fracthqsi -- ___fracthqdi -- ___fracthqti -- ___fracthqsf -- ___fracthqdf -- ___fractsqqq2 -- ___fractsqhq2 -- ___fractsqdq2 -- ___fractsqtq2 -- ___fractsqha -- ___fractsqsa -- ___fractsqda -- ___fractsqta -- ___fractsquqq -- ___fractsquhq -- ___fractsqusq -- ___fractsqudq -- ___fractsqutq -- ___fractsquha -- ___fractsqusa -- ___fractsquda -- ___fractsquta -- ___fractsqqi -- ___fractsqhi -- ___fractsqsi -- ___fractsqdi -- ___fractsqti -- ___fractsqsf -- ___fractsqdf -- ___fractdqqq2 -- ___fractdqhq2 -- ___fractdqsq2 -- ___fractdqtq2 -- ___fractdqha -- ___fractdqsa -- ___fractdqda -- ___fractdqta -- ___fractdquqq -- ___fractdquhq -- ___fractdqusq -- ___fractdqudq -- ___fractdqutq -- ___fractdquha -- ___fractdqusa -- ___fractdquda -- ___fractdquta -- ___fractdqqi -- ___fractdqhi -- ___fractdqsi -- ___fractdqdi -- ___fractdqti -- ___fractdqsf -- ___fractdqdf -- ___fracttqqq2 -- ___fracttqhq2 -- ___fracttqsq2 -- ___fracttqdq2 -- ___fracttqha -- ___fracttqsa -- ___fracttqda -- ___fracttqta -- ___fracttquqq -- ___fracttquhq -- ___fracttqusq -- ___fracttqudq -- ___fracttqutq -- ___fracttquha -- ___fracttqusa -- ___fracttquda -- ___fracttquta -- ___fracttqqi -- ___fracttqhi -- ___fracttqsi -- ___fracttqdi -- ___fracttqti -- ___fracttqsf -- ___fracttqdf -- ___fracthaqq -- ___fracthahq -- ___fracthasq -- ___fracthadq -- ___fracthatq -- ___fracthasa2 -- ___fracthada2 -- ___fracthata2 -- ___fracthauqq -- ___fracthauhq -- ___fracthausq -- ___fracthaudq -- ___fracthautq -- ___fracthauha -- ___fracthausa -- ___fracthauda -- ___fracthauta -- ___fracthaqi -- ___fracthahi -- ___fracthasi -- ___fracthadi -- ___fracthati -- ___fracthasf -- ___fracthadf -- ___fractsaqq -- ___fractsahq -- ___fractsasq -- ___fractsadq -- ___fractsatq -- ___fractsaha2 -- ___fractsada2 -- ___fractsata2 -- ___fractsauqq -- ___fractsauhq -- ___fractsausq -- ___fractsaudq -- ___fractsautq -- ___fractsauha -- ___fractsausa -- ___fractsauda -- ___fractsauta -- ___fractsaqi -- ___fractsahi -- ___fractsasi -- ___fractsadi -- ___fractsati -- ___fractsasf -- ___fractsadf -- ___fractdaqq -- ___fractdahq -- ___fractdasq -- ___fractdadq -- ___fractdatq -- ___fractdaha2 -- ___fractdasa2 -- ___fractdata2 -- ___fractdauqq -- ___fractdauhq -- ___fractdausq -- ___fractdaudq -- ___fractdautq -- ___fractdauha -- ___fractdausa -- ___fractdauda -- ___fractdauta -- ___fractdaqi -- ___fractdahi -- ___fractdasi -- ___fractdadi -- ___fractdati -- ___fractdasf -- ___fractdadf -- ___fracttaqq -- ___fracttahq -- ___fracttasq -- ___fracttadq -- ___fracttatq -- ___fracttaha2 -- ___fracttasa2 -- ___fracttada2 -- ___fracttauqq -- ___fracttauhq -- ___fracttausq -- ___fracttaudq -- ___fracttautq -- ___fracttauha -- ___fracttausa -- ___fracttauda -- ___fracttauta -- ___fracttaqi -- ___fracttahi -- ___fracttasi -- ___fracttadi -- ___fracttati -- ___fracttasf -- ___fracttadf -- ___fractuqqqq -- ___fractuqqhq -- ___fractuqqsq -- ___fractuqqdq -- ___fractuqqtq -- ___fractuqqha -- ___fractuqqsa -- ___fractuqqda -- ___fractuqqta -- ___fractuqquhq2 -- ___fractuqqusq2 -- ___fractuqqudq2 -- ___fractuqqutq2 -- ___fractuqquha -- ___fractuqqusa -- ___fractuqquda -- ___fractuqquta -- ___fractuqqqi -- ___fractuqqhi -- ___fractuqqsi -- ___fractuqqdi -- ___fractuqqti -- ___fractuqqsf -- ___fractuqqdf -- ___fractuhqqq -- ___fractuhqhq -- ___fractuhqsq -- ___fractuhqdq -- ___fractuhqtq -- ___fractuhqha -- ___fractuhqsa -- ___fractuhqda -- ___fractuhqta -- ___fractuhquqq2 -- ___fractuhqusq2 -- ___fractuhqudq2 -- ___fractuhqutq2 -- ___fractuhquha -- ___fractuhqusa -- ___fractuhquda -- ___fractuhquta -- ___fractuhqqi -- ___fractuhqhi -- ___fractuhqsi -- ___fractuhqdi -- ___fractuhqti -- ___fractuhqsf -- ___fractuhqdf -- ___fractusqqq -- ___fractusqhq -- ___fractusqsq -- ___fractusqdq -- ___fractusqtq -- ___fractusqha -- ___fractusqsa -- ___fractusqda -- ___fractusqta -- ___fractusquqq2 -- ___fractusquhq2 -- ___fractusqudq2 -- ___fractusqutq2 -- ___fractusquha -- ___fractusqusa -- ___fractusquda -- ___fractusquta -- ___fractusqqi -- ___fractusqhi -- ___fractusqsi -- ___fractusqdi -- ___fractusqti -- ___fractusqsf -- ___fractusqdf -- ___fractudqqq -- ___fractudqhq -- ___fractudqsq -- ___fractudqdq -- ___fractudqtq -- ___fractudqha -- ___fractudqsa -- ___fractudqda -- ___fractudqta -- ___fractudquqq2 -- ___fractudquhq2 -- ___fractudqusq2 -- ___fractudqutq2 -- ___fractudquha -- ___fractudqusa -- ___fractudquda -- ___fractudquta -- ___fractudqqi -- ___fractudqhi -- ___fractudqsi -- ___fractudqdi -- ___fractudqti -- ___fractudqsf -- ___fractudqdf -- ___fractutqqq -- ___fractutqhq -- ___fractutqsq -- ___fractutqdq -- ___fractutqtq -- ___fractutqha -- ___fractutqsa -- ___fractutqda -- ___fractutqta -- ___fractutquqq2 -- ___fractutquhq2 -- ___fractutqusq2 -- ___fractutqudq2 -- ___fractutquha -- ___fractutqusa -- ___fractutquda -- ___fractutquta -- ___fractutqqi -- ___fractutqhi -- ___fractutqsi -- ___fractutqdi -- ___fractutqti -- ___fractutqsf -- ___fractutqdf -- ___fractuhaqq -- ___fractuhahq -- ___fractuhasq -- ___fractuhadq -- ___fractuhatq -- ___fractuhaha -- ___fractuhasa -- ___fractuhada -- ___fractuhata -- ___fractuhauqq -- ___fractuhauhq -- ___fractuhausq -- ___fractuhaudq -- ___fractuhautq -- ___fractuhausa2 -- ___fractuhauda2 -- ___fractuhauta2 -- ___fractuhaqi -- ___fractuhahi -- ___fractuhasi -- ___fractuhadi -- ___fractuhati -- ___fractuhasf -- ___fractuhadf -- ___fractusaqq -- ___fractusahq -- ___fractusasq -- ___fractusadq -- ___fractusatq -- ___fractusaha -- ___fractusasa -- ___fractusada -- ___fractusata -- ___fractusauqq -- ___fractusauhq -- ___fractusausq -- ___fractusaudq -- ___fractusautq -- ___fractusauha2 -- ___fractusauda2 -- ___fractusauta2 -- ___fractusaqi -- ___fractusahi -- ___fractusasi -- ___fractusadi -- ___fractusati -- ___fractusasf -- ___fractusadf -- ___fractudaqq -- ___fractudahq -- ___fractudasq -- ___fractudadq -- ___fractudatq -- ___fractudaha -- ___fractudasa -- ___fractudada -- ___fractudata -- ___fractudauqq -- ___fractudauhq -- ___fractudausq -- ___fractudaudq -- ___fractudautq -- ___fractudauha2 -- ___fractudausa2 -- ___fractudauta2 -- ___fractudaqi -- ___fractudahi -- ___fractudasi -- ___fractudadi -- ___fractudati -- ___fractudasf -- ___fractudadf -- ___fractutaqq -- ___fractutahq -- ___fractutasq -- ___fractutadq -- ___fractutatq -- ___fractutaha -- ___fractutasa -- ___fractutada -- ___fractutata -- ___fractutauqq -- ___fractutauhq -- ___fractutausq -- ___fractutaudq -- ___fractutautq -- ___fractutauha2 -- ___fractutausa2 -- ___fractutauda2 -- ___fractutaqi -- ___fractutahi -- ___fractutasi -- ___fractutadi -- ___fractutati -- ___fractutasf -- ___fractutadf -- ___fractqiqq -- ___fractqihq -- ___fractqisq -- ___fractqidq -- ___fractqitq -- ___fractqiha -- ___fractqisa -- ___fractqida -- ___fractqita -- ___fractqiuqq -- ___fractqiuhq -- ___fractqiusq -- ___fractqiudq -- ___fractqiutq -- ___fractqiuha -- ___fractqiusa -- ___fractqiuda -- ___fractqiuta -- ___fracthiqq -- ___fracthihq -- ___fracthisq -- ___fracthidq -- ___fracthitq -- ___fracthiha -- ___fracthisa -- ___fracthida -- ___fracthita -- ___fracthiuqq -- ___fracthiuhq -- ___fracthiusq -- ___fracthiudq -- ___fracthiutq -- ___fracthiuha -- ___fracthiusa -- ___fracthiuda -- ___fracthiuta -- ___fractsiqq -- ___fractsihq -- ___fractsisq -- ___fractsidq -- ___fractsitq -- ___fractsiha -- ___fractsisa -- ___fractsida -- ___fractsita -- ___fractsiuqq -- ___fractsiuhq -- ___fractsiusq -- ___fractsiudq -- ___fractsiutq -- ___fractsiuha -- ___fractsiusa -- ___fractsiuda -- ___fractsiuta -- ___fractdiqq -- ___fractdihq -- ___fractdisq -- ___fractdidq -- ___fractditq -- ___fractdiha -- ___fractdisa -- ___fractdida -- ___fractdita -- ___fractdiuqq -- ___fractdiuhq -- ___fractdiusq -- ___fractdiudq -- ___fractdiutq -- ___fractdiuha -- ___fractdiusa -- ___fractdiuda -- ___fractdiuta -- ___fracttiqq -- ___fracttihq -- ___fracttisq -- ___fracttidq -- ___fracttitq -- ___fracttiha -- ___fracttisa -- ___fracttida -- ___fracttita -- ___fracttiuqq -- ___fracttiuhq -- ___fracttiusq -- ___fracttiudq -- ___fracttiutq -- ___fracttiuha -- ___fracttiusa -- ___fracttiuda -- ___fracttiuta -- ___fractsfqq -- ___fractsfhq -- ___fractsfsq -- ___fractsfdq -- ___fractsftq -- ___fractsfha -- ___fractsfsa -- ___fractsfda -- ___fractsfta -- ___fractsfuqq -- ___fractsfuhq -- ___fractsfusq -- ___fractsfudq -- ___fractsfutq -- ___fractsfuha -- ___fractsfusa -- ___fractsfuda -- ___fractsfuta -- ___fractdfqq -- ___fractdfhq -- ___fractdfsq -- ___fractdfdq -- ___fractdftq -- ___fractdfha -- ___fractdfsa -- ___fractdfda -- ___fractdfta -- ___fractdfuqq -- ___fractdfuhq -- ___fractdfusq -- ___fractdfudq -- ___fractdfutq -- ___fractdfuha -- ___fractdfusa -- ___fractdfuda -- ___fractdfuta -- ___satfractqqhq2 -- ___satfractqqsq2 -- ___satfractqqdq2 -- ___satfractqqtq2 -- ___satfractqqha -- ___satfractqqsa -- ___satfractqqda -- ___satfractqqta -- ___satfractqquqq -- ___satfractqquhq -- ___satfractqqusq -- ___satfractqqudq -- ___satfractqqutq -- ___satfractqquha -- ___satfractqqusa -- ___satfractqquda -- ___satfractqquta -- ___satfracthqqq2 -- ___satfracthqsq2 -- ___satfracthqdq2 -- ___satfracthqtq2 -- ___satfracthqha -- ___satfracthqsa -- ___satfracthqda -- ___satfracthqta -- ___satfracthquqq -- ___satfracthquhq -- ___satfracthqusq -- ___satfracthqudq -- ___satfracthqutq -- ___satfracthquha -- ___satfracthqusa -- ___satfracthquda -- ___satfracthquta -- ___satfractsqqq2 -- ___satfractsqhq2 -- ___satfractsqdq2 -- ___satfractsqtq2 -- ___satfractsqha -- ___satfractsqsa -- ___satfractsqda -- ___satfractsqta -- ___satfractsquqq -- ___satfractsquhq -- ___satfractsqusq -- ___satfractsqudq -- ___satfractsqutq -- ___satfractsquha -- ___satfractsqusa -- ___satfractsquda -- ___satfractsquta -- ___satfractdqqq2 -- ___satfractdqhq2 -- ___satfractdqsq2 -- ___satfractdqtq2 -- ___satfractdqha -- ___satfractdqsa -- ___satfractdqda -- ___satfractdqta -- ___satfractdquqq -- ___satfractdquhq -- ___satfractdqusq -- ___satfractdqudq -- ___satfractdqutq -- ___satfractdquha -- ___satfractdqusa -- ___satfractdquda -- ___satfractdquta -- ___satfracttqqq2 -- ___satfracttqhq2 -- ___satfracttqsq2 -- ___satfracttqdq2 -- ___satfracttqha -- ___satfracttqsa -- ___satfracttqda -- ___satfracttqta -- ___satfracttquqq -- ___satfracttquhq -- ___satfracttqusq -- ___satfracttqudq -- ___satfracttqutq -- ___satfracttquha -- ___satfracttqusa -- ___satfracttquda -- ___satfracttquta -- ___satfracthaqq -- ___satfracthahq -- ___satfracthasq -- ___satfracthadq -- ___satfracthatq -- ___satfracthasa2 -- ___satfracthada2 -- ___satfracthata2 -- ___satfracthauqq -- ___satfracthauhq -- ___satfracthausq -- ___satfracthaudq -- ___satfracthautq -- ___satfracthauha -- ___satfracthausa -- ___satfracthauda -- ___satfracthauta -- ___satfractsaqq -- ___satfractsahq -- ___satfractsasq -- ___satfractsadq -- ___satfractsatq -- ___satfractsaha2 -- ___satfractsada2 -- ___satfractsata2 -- ___satfractsauqq -- ___satfractsauhq -- ___satfractsausq -- ___satfractsaudq -- ___satfractsautq -- ___satfractsauha -- ___satfractsausa -- ___satfractsauda -- ___satfractsauta -- ___satfractdaqq -- ___satfractdahq -- ___satfractdasq -- ___satfractdadq -- ___satfractdatq -- ___satfractdaha2 -- ___satfractdasa2 -- ___satfractdata2 -- ___satfractdauqq -- ___satfractdauhq -- ___satfractdausq -- ___satfractdaudq -- ___satfractdautq -- ___satfractdauha -- ___satfractdausa -- ___satfractdauda -- ___satfractdauta -- ___satfracttaqq -- ___satfracttahq -- ___satfracttasq -- ___satfracttadq -- ___satfracttatq -- ___satfracttaha2 -- ___satfracttasa2 -- ___satfracttada2 -- ___satfracttauqq -- ___satfracttauhq -- ___satfracttausq -- ___satfracttaudq -- ___satfracttautq -- ___satfracttauha -- ___satfracttausa -- ___satfracttauda -- ___satfracttauta -- ___satfractuqqqq -- ___satfractuqqhq -- ___satfractuqqsq -- ___satfractuqqdq -- ___satfractuqqtq -- ___satfractuqqha -- ___satfractuqqsa -- ___satfractuqqda -- ___satfractuqqta -- ___satfractuqquhq2 -- ___satfractuqqusq2 -- ___satfractuqqudq2 -- ___satfractuqqutq2 -- ___satfractuqquha -- ___satfractuqqusa -- ___satfractuqquda -- ___satfractuqquta -- ___satfractuhqqq -- ___satfractuhqhq -- ___satfractuhqsq -- ___satfractuhqdq -- ___satfractuhqtq -- ___satfractuhqha -- ___satfractuhqsa -- ___satfractuhqda -- ___satfractuhqta -- ___satfractuhquqq2 -- ___satfractuhqusq2 -- ___satfractuhqudq2 -- ___satfractuhqutq2 -- ___satfractuhquha -- ___satfractuhqusa -- ___satfractuhquda -- ___satfractuhquta -- ___satfractusqqq -- ___satfractusqhq -- ___satfractusqsq -- ___satfractusqdq -- ___satfractusqtq -- ___satfractusqha -- ___satfractusqsa -- ___satfractusqda -- ___satfractusqta -- ___satfractusquqq2 -- ___satfractusquhq2 -- ___satfractusqudq2 -- ___satfractusqutq2 -- ___satfractusquha -- ___satfractusqusa -- ___satfractusquda -- ___satfractusquta -- ___satfractudqqq -- ___satfractudqhq -- ___satfractudqsq -- ___satfractudqdq -- ___satfractudqtq -- ___satfractudqha -- ___satfractudqsa -- ___satfractudqda -- ___satfractudqta -- ___satfractudquqq2 -- ___satfractudquhq2 -- ___satfractudqusq2 -- ___satfractudqutq2 -- ___satfractudquha -- ___satfractudqusa -- ___satfractudquda -- ___satfractudquta -- ___satfractutqqq -- ___satfractutqhq -- ___satfractutqsq -- ___satfractutqdq -- ___satfractutqtq -- ___satfractutqha -- ___satfractutqsa -- ___satfractutqda -- ___satfractutqta -- ___satfractutquqq2 -- ___satfractutquhq2 -- ___satfractutqusq2 -- ___satfractutqudq2 -- ___satfractutquha -- ___satfractutqusa -- ___satfractutquda -- ___satfractutquta -- ___satfractuhaqq -- ___satfractuhahq -- ___satfractuhasq -- ___satfractuhadq -- ___satfractuhatq -- ___satfractuhaha -- ___satfractuhasa -- ___satfractuhada -- ___satfractuhata -- ___satfractuhauqq -- ___satfractuhauhq -- ___satfractuhausq -- ___satfractuhaudq -- ___satfractuhautq -- ___satfractuhausa2 -- ___satfractuhauda2 -- ___satfractuhauta2 -- ___satfractusaqq -- ___satfractusahq -- ___satfractusasq -- ___satfractusadq -- ___satfractusatq -- ___satfractusaha -- ___satfractusasa -- ___satfractusada -- ___satfractusata -- ___satfractusauqq -- ___satfractusauhq -- ___satfractusausq -- ___satfractusaudq -- ___satfractusautq -- ___satfractusauha2 -- ___satfractusauda2 -- ___satfractusauta2 -- ___satfractudaqq -- ___satfractudahq -- ___satfractudasq -- ___satfractudadq -- ___satfractudatq -- ___satfractudaha -- ___satfractudasa -- ___satfractudada -- ___satfractudata -- ___satfractudauqq -- ___satfractudauhq -- ___satfractudausq -- ___satfractudaudq -- ___satfractudautq -- ___satfractudauha2 -- ___satfractudausa2 -- ___satfractudauta2 -- ___satfractutaqq -- ___satfractutahq -- ___satfractutasq -- ___satfractutadq -- ___satfractutatq -- ___satfractutaha -- ___satfractutasa -- ___satfractutada -- ___satfractutata -- ___satfractutauqq -- ___satfractutauhq -- ___satfractutausq -- ___satfractutaudq -- ___satfractutautq -- ___satfractutauha2 -- ___satfractutausa2 -- ___satfractutauda2 -- ___satfractqiqq -- ___satfractqihq -- ___satfractqisq -- ___satfractqidq -- ___satfractqitq -- ___satfractqiha -- ___satfractqisa -- ___satfractqida -- ___satfractqita -- ___satfractqiuqq -- ___satfractqiuhq -- ___satfractqiusq -- ___satfractqiudq -- ___satfractqiutq -- ___satfractqiuha -- ___satfractqiusa -- ___satfractqiuda -- ___satfractqiuta -- ___satfracthiqq -- ___satfracthihq -- ___satfracthisq -- ___satfracthidq -- ___satfracthitq -- ___satfracthiha -- ___satfracthisa -- ___satfracthida -- ___satfracthita -- ___satfracthiuqq -- ___satfracthiuhq -- ___satfracthiusq -- ___satfracthiudq -- ___satfracthiutq -- ___satfracthiuha -- ___satfracthiusa -- ___satfracthiuda -- ___satfracthiuta -- ___satfractsiqq -- ___satfractsihq -- ___satfractsisq -- ___satfractsidq -- ___satfractsitq -- ___satfractsiha -- ___satfractsisa -- ___satfractsida -- ___satfractsita -- ___satfractsiuqq -- ___satfractsiuhq -- ___satfractsiusq -- ___satfractsiudq -- ___satfractsiutq -- ___satfractsiuha -- ___satfractsiusa -- ___satfractsiuda -- ___satfractsiuta -- ___satfractdiqq -- ___satfractdihq -- ___satfractdisq -- ___satfractdidq -- ___satfractditq -- ___satfractdiha -- ___satfractdisa -- ___satfractdida -- ___satfractdita -- ___satfractdiuqq -- ___satfractdiuhq -- ___satfractdiusq -- ___satfractdiudq -- ___satfractdiutq -- ___satfractdiuha -- ___satfractdiusa -- ___satfractdiuda -- ___satfractdiuta -- ___satfracttiqq -- ___satfracttihq -- ___satfracttisq -- ___satfracttidq -- ___satfracttitq -- ___satfracttiha -- ___satfracttisa -- ___satfracttida -- ___satfracttita -- ___satfracttiuqq -- ___satfracttiuhq -- ___satfracttiusq -- ___satfracttiudq -- ___satfracttiutq -- ___satfracttiuha -- ___satfracttiusa -- ___satfracttiuda -- ___satfracttiuta -- ___satfractsfqq -- ___satfractsfhq -- ___satfractsfsq -- ___satfractsfdq -- ___satfractsftq -- ___satfractsfha -- ___satfractsfsa -- ___satfractsfda -- ___satfractsfta -- ___satfractsfuqq -- ___satfractsfuhq -- ___satfractsfusq -- ___satfractsfudq -- ___satfractsfutq -- ___satfractsfuha -- ___satfractsfusa -- ___satfractsfuda -- ___satfractsfuta -- ___satfractdfqq -- ___satfractdfhq -- ___satfractdfsq -- ___satfractdfdq -- ___satfractdftq -- ___satfractdfha -- ___satfractdfsa -- ___satfractdfda -- ___satfractdfta -- ___satfractdfuqq -- ___satfractdfuhq -- ___satfractdfusq -- ___satfractdfudq -- ___satfractdfutq -- ___satfractdfuha -- ___satfractdfusa -- ___satfractdfuda -- ___satfractdfuta -- ___fractunsqqqi -- ___fractunsqqhi -- ___fractunsqqsi -- ___fractunsqqdi -- ___fractunsqqti -- ___fractunshqqi -- ___fractunshqhi -- ___fractunshqsi -- ___fractunshqdi -- ___fractunshqti -- ___fractunssqqi -- ___fractunssqhi -- ___fractunssqsi -- ___fractunssqdi -- ___fractunssqti -- ___fractunsdqqi -- ___fractunsdqhi -- ___fractunsdqsi -- ___fractunsdqdi -- ___fractunsdqti -- ___fractunstqqi -- ___fractunstqhi -- ___fractunstqsi -- ___fractunstqdi -- ___fractunstqti -- ___fractunshaqi -- ___fractunshahi -- ___fractunshasi -- ___fractunshadi -- ___fractunshati -- ___fractunssaqi -- ___fractunssahi -- ___fractunssasi -- ___fractunssadi -- ___fractunssati -- ___fractunsdaqi -- ___fractunsdahi -- ___fractunsdasi -- ___fractunsdadi -- ___fractunsdati -- ___fractunstaqi -- ___fractunstahi -- ___fractunstasi -- ___fractunstadi -- ___fractunstati -- ___fractunsuqqqi -- ___fractunsuqqhi -- ___fractunsuqqsi -- ___fractunsuqqdi -- ___fractunsuqqti -- ___fractunsuhqqi -- ___fractunsuhqhi -- ___fractunsuhqsi -- ___fractunsuhqdi -- ___fractunsuhqti -- ___fractunsusqqi -- ___fractunsusqhi -- ___fractunsusqsi -- ___fractunsusqdi -- ___fractunsusqti -- ___fractunsudqqi -- ___fractunsudqhi -- ___fractunsudqsi -- ___fractunsudqdi -- ___fractunsudqti -- ___fractunsutqqi -- ___fractunsutqhi -- ___fractunsutqsi -- ___fractunsutqdi -- ___fractunsutqti -- ___fractunsuhaqi -- ___fractunsuhahi -- ___fractunsuhasi -- ___fractunsuhadi -- ___fractunsuhati -- ___fractunsusaqi -- ___fractunsusahi -- ___fractunsusasi -- ___fractunsusadi -- ___fractunsusati -- ___fractunsudaqi -- ___fractunsudahi -- ___fractunsudasi -- ___fractunsudadi -- ___fractunsudati -- ___fractunsutaqi -- ___fractunsutahi -- ___fractunsutasi -- ___fractunsutadi -- ___fractunsutati -- ___fractunsqiqq -- ___fractunsqihq -- ___fractunsqisq -- ___fractunsqidq -- ___fractunsqitq -- ___fractunsqiha -- ___fractunsqisa -- ___fractunsqida -- ___fractunsqita -- ___fractunsqiuqq -- ___fractunsqiuhq -- ___fractunsqiusq -- ___fractunsqiudq -- ___fractunsqiutq -- ___fractunsqiuha -- ___fractunsqiusa -- ___fractunsqiuda -- ___fractunsqiuta -- ___fractunshiqq -- ___fractunshihq -- ___fractunshisq -- ___fractunshidq -- ___fractunshitq -- ___fractunshiha -- ___fractunshisa -- ___fractunshida -- ___fractunshita -- ___fractunshiuqq -- ___fractunshiuhq -- ___fractunshiusq -- ___fractunshiudq -- ___fractunshiutq -- ___fractunshiuha -- ___fractunshiusa -- ___fractunshiuda -- ___fractunshiuta -- ___fractunssiqq -- ___fractunssihq -- ___fractunssisq -- ___fractunssidq -- ___fractunssitq -- ___fractunssiha -- ___fractunssisa -- ___fractunssida -- ___fractunssita -- ___fractunssiuqq -- ___fractunssiuhq -- ___fractunssiusq -- ___fractunssiudq -- ___fractunssiutq -- ___fractunssiuha -- ___fractunssiusa -- ___fractunssiuda -- ___fractunssiuta -- ___fractunsdiqq -- ___fractunsdihq -- ___fractunsdisq -- ___fractunsdidq -- ___fractunsditq -- ___fractunsdiha -- ___fractunsdisa -- ___fractunsdida -- ___fractunsdita -- ___fractunsdiuqq -- ___fractunsdiuhq -- ___fractunsdiusq -- ___fractunsdiudq -- ___fractunsdiutq -- ___fractunsdiuha -- ___fractunsdiusa -- ___fractunsdiuda -- ___fractunsdiuta -- ___fractunstiqq -- ___fractunstihq -- ___fractunstisq -- ___fractunstidq -- ___fractunstitq -- ___fractunstiha -- ___fractunstisa -- ___fractunstida -- ___fractunstita -- ___fractunstiuqq -- ___fractunstiuhq -- ___fractunstiusq -- ___fractunstiudq -- ___fractunstiutq -- ___fractunstiuha -- ___fractunstiusa -- ___fractunstiuda -- ___fractunstiuta -- ___satfractunsqiqq -- ___satfractunsqihq -- ___satfractunsqisq -- ___satfractunsqidq -- ___satfractunsqitq -- ___satfractunsqiha -- ___satfractunsqisa -- ___satfractunsqida -- ___satfractunsqita -- ___satfractunsqiuqq -- ___satfractunsqiuhq -- ___satfractunsqiusq -- ___satfractunsqiudq -- ___satfractunsqiutq -- ___satfractunsqiuha -- ___satfractunsqiusa -- ___satfractunsqiuda -- ___satfractunsqiuta -- ___satfractunshiqq -- ___satfractunshihq -- ___satfractunshisq -- ___satfractunshidq -- ___satfractunshitq -- ___satfractunshiha -- ___satfractunshisa -- ___satfractunshida -- ___satfractunshita -- ___satfractunshiuqq -- ___satfractunshiuhq -- ___satfractunshiusq -- ___satfractunshiudq -- ___satfractunshiutq -- ___satfractunshiuha -- ___satfractunshiusa -- ___satfractunshiuda -- ___satfractunshiuta -- ___satfractunssiqq -- ___satfractunssihq -- ___satfractunssisq -- ___satfractunssidq -- ___satfractunssitq -- ___satfractunssiha -- ___satfractunssisa -- ___satfractunssida -- ___satfractunssita -- ___satfractunssiuqq -- ___satfractunssiuhq -- ___satfractunssiusq -- ___satfractunssiudq -- ___satfractunssiutq -- ___satfractunssiuha -- ___satfractunssiusa -- ___satfractunssiuda -- ___satfractunssiuta -- ___satfractunsdiqq -- ___satfractunsdihq -- ___satfractunsdisq -- ___satfractunsdidq -- ___satfractunsditq -- ___satfractunsdiha -- ___satfractunsdisa -- ___satfractunsdida -- ___satfractunsdita -- ___satfractunsdiuqq -- ___satfractunsdiuhq -- ___satfractunsdiusq -- ___satfractunsdiudq -- ___satfractunsdiutq -- ___satfractunsdiuha -- ___satfractunsdiusa -- ___satfractunsdiuda -- ___satfractunsdiuta -- ___satfractunstiqq -- ___satfractunstihq -- ___satfractunstisq -- ___satfractunstidq -- ___satfractunstitq -- ___satfractunstiha -- ___satfractunstisa -- ___satfractunstida -- ___satfractunstita -- ___satfractunstiuqq -- ___satfractunstiuhq -- ___satfractunstiusq -- ___satfractunstiudq -- ___satfractunstiutq -- ___satfractunstiuha -- ___satfractunstiusa -- ___satfractunstiuda -- ___satfractunstiuta --} -- --%inherit GCC_4.4.0 GCC_4.3.0 --GCC_4.4.0 { -- ___sync_fetch_and_add_1 -- ___sync_fetch_and_sub_1 -- ___sync_fetch_and_or_1 -- ___sync_fetch_and_and_1 -- ___sync_fetch_and_xor_1 -- ___sync_fetch_and_nand_1 -- ___sync_add_and_fetch_1 -- ___sync_sub_and_fetch_1 -- ___sync_or_and_fetch_1 -- ___sync_and_and_fetch_1 -- ___sync_xor_and_fetch_1 -- ___sync_nand_and_fetch_1 -- ___sync_bool_compare_and_swap_1 -- ___sync_val_compare_and_swap_1 -- ___sync_lock_test_and_set_1 -- -- ___sync_fetch_and_add_2 -- ___sync_fetch_and_sub_2 -- ___sync_fetch_and_or_2 -- ___sync_fetch_and_and_2 -- ___sync_fetch_and_xor_2 -- ___sync_fetch_and_nand_2 -- ___sync_add_and_fetch_2 -- ___sync_sub_and_fetch_2 -- ___sync_or_and_fetch_2 -- ___sync_and_and_fetch_2 -- ___sync_xor_and_fetch_2 -- ___sync_nand_and_fetch_2 -- ___sync_bool_compare_and_swap_2 -- ___sync_val_compare_and_swap_2 -- ___sync_lock_test_and_set_2 -- -- ___sync_fetch_and_add_4 -- ___sync_fetch_and_sub_4 -- ___sync_fetch_and_or_4 -- ___sync_fetch_and_and_4 -- ___sync_fetch_and_xor_4 -- ___sync_fetch_and_nand_4 -- ___sync_add_and_fetch_4 -- ___sync_sub_and_fetch_4 -- ___sync_or_and_fetch_4 -- ___sync_and_and_fetch_4 -- ___sync_xor_and_fetch_4 -- ___sync_nand_and_fetch_4 -- ___sync_bool_compare_and_swap_4 -- ___sync_val_compare_and_swap_4 -- ___sync_lock_test_and_set_4 -- -- ___sync_fetch_and_add_8 -- ___sync_fetch_and_sub_8 -- ___sync_fetch_and_or_8 -- ___sync_fetch_and_and_8 -- ___sync_fetch_and_xor_8 -- ___sync_fetch_and_nand_8 -- ___sync_add_and_fetch_8 -- ___sync_sub_and_fetch_8 -- ___sync_or_and_fetch_8 -- ___sync_and_and_fetch_8 -- ___sync_xor_and_fetch_8 -- ___sync_nand_and_fetch_8 -- ___sync_bool_compare_and_swap_8 -- ___sync_val_compare_and_swap_8 -- ___sync_lock_test_and_set_8 -- -- ___sync_fetch_and_add_16 -- ___sync_fetch_and_sub_16 -- ___sync_fetch_and_or_16 -- ___sync_fetch_and_and_16 -- ___sync_fetch_and_xor_16 -- ___sync_fetch_and_nand_16 -- ___sync_add_and_fetch_16 -- ___sync_sub_and_fetch_16 -- ___sync_or_and_fetch_16 -- ___sync_and_and_fetch_16 -- ___sync_xor_and_fetch_16 -- ___sync_nand_and_fetch_16 -- ___sync_bool_compare_and_swap_16 -- ___sync_val_compare_and_swap_16 -- ___sync_lock_test_and_set_16 -- -- ___sync_synchronize --} -- --%inherit GCC_4.5.0 GCC_4.4.0 --GCC_4.5.0 { -- ___unordxf2 -- ___unordtf2 -+ __smulsi3_highpart -+ __umulsi3_highpart - } -diff --git a/libgcc/config/bfin/t-linux b/libgcc/config/bfin/t-linux -index 1c42e48..8898157 100644 ---- a/libgcc/config/bfin/t-linux -+++ b/libgcc/config/bfin/t-linux -@@ -1 +1,2 @@ --SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MKMAP_OPTS = -v skip_underscore=1 --- -2.7.4 - diff --git a/toolchain/gcc/patches/6.2.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch b/toolchain/gcc/patches/6.2.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch deleted file mode 100644 index b8aebaee4..000000000 --- a/toolchain/gcc/patches/6.2.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch +++ /dev/null @@ -1,60 +0,0 @@ -From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 17:59:16 +0200 -Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore - -Some platforms, such as Blackfin, have a special prefix for assembly -symbols as opposed to C symbols. For this reason, a function named -"foo()" in C will in fact be visible as a symbol called "_foo" in the -ELF binary. - -The current linker version script logic in libgcc doesn't take into -account this situation properly. The Blackfin specific -libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of -every symbol so that it matches the output of "nm" (which gets parsed to -produce the final linker version script). But due to this additional -"_", ld no longer matches with the symbols since "ld" does the matching -with the original symbol name, not the one prefixed with "_". - -Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver -are actually matched with symbols in libgcc. This causes all libgcc -symbols to be left as "LOCAL", which causes lots of "undefined -reference" whenever some C or C++ code that calls a function of libgcc -is compiled. - -To address this, this commit introduces a "skip_underscore" variable to -the mkmap-symver script. It tells mkmap-symver to ignore the leading -underscore from the "nm" output. - -Note that this new argument is different from the existing -"leading_underscore" argument, which *adds* an additional underscore to -the generated linker version script. - -Having this functionality paves the way to using the generic linker -version information for Blackfin, instead of using a custom one. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/mkmap-symver.awk | 6 +++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk -index 266832a..30bb179 100644 ---- a/libgcc/mkmap-symver.awk -+++ b/libgcc/mkmap-symver.awk -@@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") { - - state == "nm" && NF == 3 { - split ($3, s, "@") -- def[s[1]] = 1; -+ if (skip_underscore) -+ symname = substr(s[1], 2); -+ else -+ symname = s[1]; -+ def[symname] = 1; - sawsymbol = 1; - next; - } --- -2.7.4 - diff --git a/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch b/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch deleted file mode 100644 index 315b40668..000000000 --- a/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix DWARF compilation for FDPIC targets - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-6.1.0/libgcc/unwind-dw2-fde-dip.c ---- gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.1.0/libgcc/unwind-dw2-fde-dip.c 2016-08-05 02:17:40.424195128 +0200 -@@ -124,7 +124,11 @@ - { - _Unwind_Ptr pc_low; - _Unwind_Ptr pc_high; -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ -+ struct elf32_fdpic_loadaddr load_base; -+#else - _Unwind_Ptr load_base; -+#endif - const ElfW(Phdr) *p_eh_frame_hdr; - const ElfW(Phdr) *p_dynamic; - struct frame_hdr_cache_element *link; -@@ -163,7 +167,7 @@ - struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; - const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; - long n, match; --#ifdef __FRV_FDPIC__ -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ - struct elf32_fdpic_loadaddr load_base; - #else - _Unwind_Ptr load_base; -@@ -347,7 +351,7 @@ - break; - } - } --# elif defined __FRV_FDPIC__ && defined __linux__ -+# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ - data->dbase = load_base.got_value; - # else - # error What is DW_EH_PE_datarel base on this platform? diff --git a/toolchain/gcc/patches/6.2.0/fix-m86k-libgcc.patch b/toolchain/gcc/patches/6.2.0/fix-m86k-libgcc.patch deleted file mode 100644 index e8481d549..000000000 --- a/toolchain/gcc/patches/6.2.0/fix-m86k-libgcc.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c gcc-4.9.3/libgcc/config/m68k/linux-atomic.c ---- gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c 2014-01-02 23:25:22.000000000 +0100 -+++ gcc-4.9.3/libgcc/config/m68k/linux-atomic.c 2015-11-29 14:42:10.566143595 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/toolchain/gcc/patches/6.2.0/frv-remove-write-macro.patch b/toolchain/gcc/patches/6.2.0/frv-remove-write-macro.patch deleted file mode 100644 index db20d37d7..000000000 --- a/toolchain/gcc/patches/6.2.0/frv-remove-write-macro.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -Nur gcc-6.1.0.orig/gcc/config/frv/frv.h gcc-6.1.0/gcc/config/frv/frv.h ---- gcc-6.1.0.orig/gcc/config/frv/frv.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.1.0/gcc/config/frv/frv.h 2016-08-16 13:31:32.652520944 +0200 -@@ -1350,11 +1350,8 @@ - #define TRAMPOLINE_TEMPLATE_NAME "__trampoline_template" - #endif - --#define Twrite _write -- - #if ! __FRV_FDPIC__ - #define TRANSFER_FROM_TRAMPOLINE \ --extern int Twrite (int, const void *, unsigned); \ - \ - void \ - __trampoline_setup (short * addr, int size, int fnaddr, int sc) \ -@@ -1366,8 +1363,6 @@ - \ - if (size < 20) \ - { \ -- Twrite (2, "__trampoline_setup bad size\n", \ -- sizeof ("__trampoline_setup bad size\n") - 1); \ - exit (-1); \ - } \ - \ -@@ -1397,7 +1392,6 @@ - "\tjmpl @(gr0,gr6)\n"); - #else - #define TRANSFER_FROM_TRAMPOLINE \ --extern int Twrite (int, const void *, unsigned); \ - \ - void \ - __trampoline_setup (addr, size, fnaddr, sc) \ -@@ -1414,8 +1408,6 @@ - \ - if (size != 32) \ - { \ -- Twrite (2, "__trampoline_setup bad size\n", \ -- sizeof ("__trampoline_setup bad size\n") - 1); \ - exit (-1); \ - } \ - \ -diff -Nur gcc-6.1.0.orig/gcc/config/frv/linux.h gcc-6.1.0/gcc/config/frv/linux.h ---- gcc-6.1.0.orig/gcc/config/frv/linux.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.1.0/gcc/config/frv/linux.h 2016-08-16 13:31:06.763517719 +0200 -@@ -68,7 +68,4 @@ - - #undef INVOKE__main - --#undef Twrite --#define Twrite __write -- - #endif /* __FRV_LINUX_H__ */ diff --git a/toolchain/gcc/patches/6.2.0/go-libgcc.patch b/toolchain/gcc/patches/6.2.0/go-libgcc.patch deleted file mode 100644 index 391306974..000000000 --- a/toolchain/gcc/patches/6.2.0/go-libgcc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-6.2.0.orig/gotools/Makefile.in gcc-6.2.0/gotools/Makefile.in ---- gcc-6.2.0.orig/gotools/Makefile.in 2016-02-03 22:58:02.000000000 +0100 -+++ gcc-6.2.0/gotools/Makefile.in 2016-09-04 09:29:15.582198715 +0200 -@@ -259,7 +259,7 @@ - @NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) - GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) - AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs --GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ -+GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) -lgcc_s $(AM_LDFLAGS) -o $@ - cmdsrcdir = $(srcdir)/../libgo/go/cmd - go_cmd_go_files = \ - $(cmdsrcdir)/go/alldocs.go \ diff --git a/toolchain/gcc/patches/6.2.0/j2.patch b/toolchain/gcc/patches/6.2.0/j2.patch deleted file mode 100644 index 8efe2cdf3..000000000 --- a/toolchain/gcc/patches/6.2.0/j2.patch +++ /dev/null @@ -1,342 +0,0 @@ -diff -Nur gcc-6.2.0.orig/gcc/config/sh/sh.c gcc-6.2.0/gcc/config/sh/sh.c ---- gcc-6.2.0.orig/gcc/config/sh/sh.c 2016-04-22 13:09:22.000000000 +0200 -+++ gcc-6.2.0/gcc/config/sh/sh.c 2016-12-10 19:58:58.649784537 +0100 -@@ -692,6 +692,7 @@ - model_names[sh_atomic_model::hard_llcs] = "hard-llcs"; - model_names[sh_atomic_model::soft_tcb] = "soft-tcb"; - model_names[sh_atomic_model::soft_imask] = "soft-imask"; -+ model_names[sh_atomic_model::hard_cas] = "hard-cas"; - - const char* model_cdef_names[sh_atomic_model::num_models]; - model_cdef_names[sh_atomic_model::none] = "NONE"; -@@ -699,6 +700,7 @@ - model_cdef_names[sh_atomic_model::hard_llcs] = "HARD_LLCS"; - model_cdef_names[sh_atomic_model::soft_tcb] = "SOFT_TCB"; - model_cdef_names[sh_atomic_model::soft_imask] = "SOFT_IMASK"; -+ model_cdef_names[sh_atomic_model::hard_cas] = "HARD_CAS"; - - sh_atomic_model ret; - ret.type = sh_atomic_model::none; -@@ -780,6 +782,9 @@ - if (ret.type == sh_atomic_model::soft_imask && TARGET_USERMODE) - err_ret ("cannot use atomic model %s in user mode", ret.name); - -+ if (ret.type == sh_atomic_model::hard_cas && !TARGET_SHJ2) -+ err_ret ("atomic model %s is only available J2 targets", ret.name); -+ - return ret; - - #undef err_ret -@@ -845,6 +850,8 @@ - sh_cpu = PROCESSOR_SH2E; - if (TARGET_SH2A) - sh_cpu = PROCESSOR_SH2A; -+ if (TARGET_SHJ2) -+ sh_cpu = PROCESSOR_SHJ2; - if (TARGET_SH3) - sh_cpu = PROCESSOR_SH3; - if (TARGET_SH3E) -diff -Nur gcc-6.2.0.orig/gcc/config/sh/sh.h gcc-6.2.0/gcc/config/sh/sh.h ---- gcc-6.2.0.orig/gcc/config/sh/sh.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/sh/sh.h 2016-12-10 19:58:58.649784537 +0100 -@@ -106,6 +106,7 @@ - #define SUPPORT_SH4_SINGLE 1 - #define SUPPORT_SH2A 1 - #define SUPPORT_SH2A_SINGLE 1 -+#define SUPPORT_SHJ2 1 - #endif - - #define TARGET_DIVIDE_INV \ -@@ -157,6 +158,7 @@ - #define SELECT_SH5_32MEDIA_NOFPU (MASK_SH5 | MASK_SH_E) - #define SELECT_SH5_COMPACT (MASK_SH5 | MASK_SH4 | SELECT_SH3E) - #define SELECT_SH5_COMPACT_NOFPU (MASK_SH5 | SELECT_SH3) -+#define SELECT_SHJ2 (MASK_SHJ2 | SELECT_SH2) - - #if SUPPORT_SH1 - #define SUPPORT_SH2 1 -@@ -164,6 +166,7 @@ - #if SUPPORT_SH2 - #define SUPPORT_SH3 1 - #define SUPPORT_SH2A_NOFPU 1 -+#define SUPPORT_SHJ2 1 - #endif - #if SUPPORT_SH3 - #define SUPPORT_SH4_NOFPU 1 -@@ -211,7 +214,7 @@ - #define MASK_ARCH (MASK_SH1 | MASK_SH2 | MASK_SH3 | MASK_SH_E | MASK_SH4 \ - | MASK_HARD_SH2A | MASK_HARD_SH2A_DOUBLE | MASK_SH4A \ - | MASK_HARD_SH4 | MASK_FPU_SINGLE | MASK_SH5 \ -- | MASK_FPU_SINGLE_ONLY) -+ | MASK_FPU_SINGLE_ONLY | MASK_SHJ2) - - /* This defaults us to big-endian. */ - #ifndef TARGET_ENDIAN_DEFAULT -@@ -289,8 +292,8 @@ - %{m5-compact*:--isa=SHcompact} \ - %{m5-32media*:--isa=SHmedia --abi=32} \ - %{m5-64media*:--isa=SHmedia --abi=64} \ --%{m4al:-dsp} %{mcut2-workaround:-cut2-workaround}" -- -+%{m4al:-dsp} %{mcut2-workaround:-cut2-workaround} \ -+%{mj2:-isa=j2}" - #define ASM_SPEC SH_ASM_SPEC - - #ifndef SUBTARGET_ASM_ENDIAN_SPEC -@@ -1853,7 +1856,7 @@ - - /* Nonzero if the target supports dynamic shift instructions - like shad and shld. */ --#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A) -+#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A || TARGET_SHJ2) - - /* The cost of using the dynamic shift insns (shad, shld) are the same - if they are available. If they are not available a library function will -@@ -2185,6 +2188,7 @@ - PROCESSOR_SH2, - PROCESSOR_SH2E, - PROCESSOR_SH2A, -+ PROCESSOR_SHJ2, - PROCESSOR_SH3, - PROCESSOR_SH3E, - PROCESSOR_SH4, -diff -Nur gcc-6.2.0.orig/gcc/config/sh/sh.opt gcc-6.2.0/gcc/config/sh/sh.opt ---- gcc-6.2.0.orig/gcc/config/sh/sh.opt 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/sh/sh.opt 2016-12-10 19:58:58.649784537 +0100 -@@ -71,6 +71,10 @@ - Target RejectNegative Condition(SUPPORT_SH2E) - Generate SH2e code. - -+mj2 -+Target RejectNegative Mask(SHJ2) Condition(SUPPORT_SHJ2) -+Generate J2 code. -+ - m3 - Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3) - Generate SH3 code. -diff -Nur gcc-6.2.0.orig/gcc/config/sh/sh-protos.h gcc-6.2.0/gcc/config/sh/sh-protos.h ---- gcc-6.2.0.orig/gcc/config/sh/sh-protos.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/sh/sh-protos.h 2016-12-10 19:58:58.641785064 +0100 -@@ -45,6 +45,7 @@ - hard_llcs, - soft_tcb, - soft_imask, -+ hard_cas, - - num_models - }; -@@ -88,6 +89,9 @@ - #define TARGET_ATOMIC_SOFT_IMASK \ - (selected_atomic_model ().type == sh_atomic_model::soft_imask) - -+#define TARGET_ATOMIC_HARD_CAS \ -+ (selected_atomic_model ().type == sh_atomic_model::hard_cas) -+ - #ifdef RTX_CODE - extern rtx sh_fsca_sf2int (void); - extern rtx sh_fsca_int2sf (void); -diff -Nur gcc-6.2.0.orig/gcc/config/sh/sync.md gcc-6.2.0/gcc/config/sh/sync.md ---- gcc-6.2.0.orig/gcc/config/sh/sync.md 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/sh/sync.md 2016-12-10 19:58:58.649784537 +0100 -@@ -240,6 +240,9 @@ - || (TARGET_SH4A && mode == SImode && !TARGET_ATOMIC_STRICT)) - atomic_insn = gen_atomic_compare_and_swap_hard (old_val, mem, - exp_val, new_val); -+ else if (TARGET_ATOMIC_HARD_CAS && mode == SImode) -+ atomic_insn = gen_atomic_compare_and_swap_cas (old_val, mem, -+ exp_val, new_val); - else if (TARGET_ATOMIC_SOFT_GUSA) - atomic_insn = gen_atomic_compare_and_swap_soft_gusa (old_val, mem, - exp_val, new_val); -@@ -306,6 +309,57 @@ - } - [(set_attr "length" "14")]) - -+(define_expand "atomic_compare_and_swapsi_cas" -+ [(set (match_operand:SI 0 "register_operand" "=r") -+ (unspec_volatile:SI -+ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra") -+ (match_operand:SI 2 "register_operand" "r") -+ (match_operand:SI 3 "register_operand" "r")] -+ UNSPECV_CMPXCHG_1))] -+ "TARGET_ATOMIC_HARD_CAS" -+{ -+ rtx mem = gen_rtx_REG (SImode, 0); -+ emit_move_insn (mem, force_reg (SImode, XEXP (operands[1], 0))); -+ emit_insn (gen_shj2_cas (operands[0], mem, operands[2], operands[3])); -+ DONE; -+}) -+ -+(define_insn "shj2_cas" -+ [(set (match_operand:SI 0 "register_operand" "=&r") -+ (unspec_volatile:SI -+ [(match_operand:SI 1 "register_operand" "=r") -+ (match_operand:SI 2 "register_operand" "r") -+ (match_operand:SI 3 "register_operand" "0")] -+ UNSPECV_CMPXCHG_1)) -+ (set (reg:SI T_REG) -+ (unspec_volatile:SI [(const_int 0)] UNSPECV_CMPXCHG_3))] -+ "TARGET_ATOMIC_HARD_CAS" -+ "cas.l %2,%0,@%1" -+ [(set_attr "length" "2")] -+) -+ -+(define_expand "atomic_compare_and_swapqi_cas" -+ [(set (match_operand:SI 0 "arith_reg_dest" "=&r") -+ (unspec_volatile:SI -+ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra") -+ (match_operand:SI 2 "arith_operand" "rI08") -+ (match_operand:SI 3 "arith_operand" "rI08")] -+ UNSPECV_CMPXCHG_1))] -+ "TARGET_ATOMIC_HARD_CAS" -+{FAIL;} -+) -+ -+(define_expand "atomic_compare_and_swaphi_cas" -+ [(set (match_operand:SI 0 "arith_reg_dest" "=&r") -+ (unspec_volatile:SI -+ [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra") -+ (match_operand:SI 2 "arith_operand" "rI08") -+ (match_operand:SI 3 "arith_operand" "rI08")] -+ UNSPECV_CMPXCHG_1))] -+ "TARGET_ATOMIC_HARD_CAS" -+{FAIL;} -+) -+ - ;; The QIHImode llcs patterns modify the address register of the memory - ;; operand. In order to express that, we have to open code the memory - ;; operand. Initially the insn is expanded like every other atomic insn -diff -Nur gcc-6.2.0.orig/gcc/config/sh/t-sh gcc-6.2.0/gcc/config/sh/t-sh ---- gcc-6.2.0.orig/gcc/config/sh/t-sh 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/sh/t-sh 2016-12-10 19:58:58.649784537 +0100 -@@ -52,7 +52,7 @@ - m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \ - m4,m4-100,m4-200,m4-300,m4a \ - m5-32media,m5-compact,m5-32media \ -- m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu; do \ -+ m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu,mj2; do \ - subst= ; \ - for lib in `echo $$abi|tr , ' '` ; do \ - if test "`echo $$multilibs|sed s/$$lib//`" != "$$multilibs"; then \ -@@ -65,9 +65,9 @@ - - # SH1 and SH2A support big endian only. - ifeq ($(DEFAULT_ENDIAN),ml) --MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG) -+MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG) - else --MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG) -+MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG) - endif - - MULTILIB_OSDIRNAMES = \ -@@ -96,6 +96,7 @@ - m5-compact-nofpu=!m5-compact-nofpu $(OTHER_ENDIAN)/m5-compact-nofpu=!$(OTHER_ENDIAN)/m5-compact-nofpu \ - m5-64media=!m5-64media $(OTHER_ENDIAN)/m5-64media=!$(OTHER_ENDIAN)/m5-64media \ - m5-64media-nofpu=!m5-64media-nofpu $(OTHER_ENDIAN)/m5-64media-nofpu=!$(OTHER_ENDIAN)/m5-64media-nofpu -+ mj2=!j2 - - $(out_object_file): gt-sh.h - gt-sh.h : s-gtype ; @true -diff -Nur gcc-6.2.0.orig/gcc/config.gcc gcc-6.2.0/gcc/config.gcc ---- gcc-6.2.0.orig/gcc/config.gcc 2016-06-08 15:34:25.000000000 +0200 -+++ gcc-6.2.0/gcc/config.gcc 2016-12-10 19:58:58.641785064 +0100 -@@ -471,7 +471,7 @@ - extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h" - ;; - # Note the 'l'; we need to be able to match e.g. "shle" or "shl". --sh[123456789lbe]*-*-* | sh-*-*) -+sh[123456789lbej]*-*-* | sh-*-*) - cpu_type=sh - extra_options="${extra_options} fused-madd.opt" - extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o" -@@ -2613,19 +2613,19 @@ - extra_options="${extra_options} s390/tpf.opt" - tmake_file="${tmake_file} s390/t-s390" - ;; --sh-*-elf* | sh[12346l]*-*-elf* | \ -- sh-*-linux* | sh[2346lbe]*-*-linux* | \ -+sh-*-elf* | sh[12346lj]*-*-elf* | \ -+ sh-*-linux* | sh[2346lbej]*-*-linux* | \ - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) - tmake_file="${tmake_file} sh/t-sh sh/t-elf" - if test x${with_endian} = x; then - case ${target} in -- sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;; -+ sh[j1234]*be-*-* | sh[j1234]*eb-*-*) with_endian=big ;; - shbe-*-* | sheb-*-*) with_endian=big,little ;; - sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;; - shl* | sh64l* | sh*-*-linux* | \ - sh5l* | sh-superh-elf) with_endian=little,big ;; -- sh[1234]*-*-*) with_endian=big ;; -+ sh[j1234]*-*-*) with_endian=big ;; - *) with_endian=big,little ;; - esac - fi -@@ -2715,6 +2715,7 @@ - sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;; - sh2a*) sh_cpu_target=sh2a ;; - sh2e*) sh_cpu_target=sh2e ;; -+ shj2*) sh_cpu_target=shj2;; - sh2*) sh_cpu_target=sh2 ;; - *) sh_cpu_target=sh1 ;; - esac -@@ -2739,7 +2740,7 @@ - sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \ - sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \ - sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \ -- sh3e | sh3 | sh2e | sh2 | sh1) ;; -+ sh3e | sh3 | sh2e | sh2 | sh1 | shj2) ;; - "") sh_cpu_default=${sh_cpu_target} ;; - *) echo "with_cpu=$with_cpu not supported"; exit 1 ;; - esac -@@ -2750,9 +2751,9 @@ - sh[1234]*) sh_multilibs=${sh_cpu_target} ;; - sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; - sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; -- sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;; -+ sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4,mj2 ;; - sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;; -- *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; -+ *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single,mj2 ;; - esac - if test x$with_fp = xno; then - sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`" -@@ -2770,7 +2771,8 @@ - m2a | m2a-single | m2a-single-only | m2a-nofpu | \ - m5-64media | m5-64media-nofpu | \ - m5-32media | m5-32media-nofpu | \ -- m5-compact | m5-compact-nofpu) -+ m5-compact | m5-compact-nofpu | \ -+ mj2) - # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition - # It is passed to MULTIILIB_OPTIONS verbatim. - TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}" -@@ -2787,7 +2789,7 @@ - done - TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'` - if test x${enable_incomple