diff mbox series

[08/23] gcc: remove Blackfin patches

Message ID 20180405195037.32641-9-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series Remove Blackfin architecture | expand

Commit Message

Thomas Petazzoni April 5, 2018, 7:50 p.m. UTC
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 ...bgcc-mkmap-symver-support-skip_underscore.patch |   60 -
 ...ig-bfin-use-the-generic-linker-version-in.patch | 1944 --------------------
 ...-fix-DWARF-compilation-with-FDPIC-targets.patch |   59 -
 package/gcc/6.4.0/895-bfin-define-REENTRANT.patch  |   17 -
 4 files changed, 2080 deletions(-)
 delete mode 100644 package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
 delete mode 100644 package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
 delete mode 100644 package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
 delete mode 100644 package/gcc/6.4.0/895-bfin-define-REENTRANT.patch
diff mbox series

Patch

diff --git a/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch b/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
deleted file mode 100644
index 73ee6c5faa..0000000000
--- a/package/gcc/6.4.0/892-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 <thomas.petazzoni@free-electrons.com>
-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 <thomas.petazzoni@free-electrons.com>
----
- libgcc/mkmap-symver.awk | 6 +++++-
- 1 file changed, 5 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/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
deleted file mode 100644
index 454295d0ed..0000000000
--- a/package/gcc/6.4.0/893-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 <thomas.petazzoni@free-electrons.com>
-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 <thomas.petazzoni@free-electrons.com>
----
- libgcc/config/bfin/libgcc-glibc.ver | 1894 +----------------------------------
- libgcc/config/bfin/t-linux          |    3 +-
- 2 files changed, 4 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
- # <http://www.gnu.org/licenses/>.
- 
--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/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
deleted file mode 100644
index ce49de7ee9..0000000000
--- a/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
+++ /dev/null
@@ -1,59 +0,0 @@ 
-From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001
-From: Waldemar Brodkorb <wbx@openadk.org>
-Date: Fri, 19 Aug 2016 13:54:46 +0200
-Subject: [PATCH] libgcc: fix DWARF compilation with FDPIC targets
-
-The build of unwind-dw2-fde-dip.c currently fails for FDPIC targets with
-the following error:
-
-libgcc/unwind-dw2-fde-dip.c:167:31: error: storage size of 'load_base' isn't known
-   struct elf32_fdpic_loadaddr load_base;
-
-This patch addresses that by defining load_base with the appropriate
-type on FDPIC targets. It has been tested on FRV and Blackfin.
-
-Fixes PR gcc/68468.
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libgcc/unwind-dw2-fde-dip.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
-index f7a1c3f..801bce8 100644
---- a/libgcc/unwind-dw2-fde-dip.c
-+++ b/libgcc/unwind-dw2-fde-dip.c
-@@ -124,7 +124,11 @@ static struct frame_hdr_cache_element
- {
-   _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 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
-   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 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
- 	    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?
--- 
-2.7.4
-
diff --git a/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch b/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch
deleted file mode 100644
index e2828a5106..0000000000
--- a/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch
+++ /dev/null
@@ -1,17 +0,0 @@ 
-enable _REENTRANT when -lpthread is used
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-
-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} \