pthbs

Packaging Through Hashed Build Scripts
git clone https://ccx.te2000.cz/git/pthbs
Log | Files | Refs | Submodules | README

mcm-gcc-9.4.0.patch (95418B)


      1 Only in gcc-9.4.0: .gcc.orig
      2 Only in gcc-9.4.0: .libatomic.orig
      3 Only in gcc-9.4.0: .libgcc.orig
      4 Only in gcc-9.4.0: .libgomp.orig
      5 Only in gcc-9.4.0: .libitm.orig
      6 Only in gcc-9.4.0: .libstdc++-v3.orig
      7 Only in gcc-9.4.0: .libvtv.orig
      8 diff -ru gcc-9.4.0.orig/config.sub gcc-9.4.0/config.sub
      9 --- gcc-9.4.0.orig/config.sub	2021-06-01 09:53:04.040466358 +0200
     10 +++ gcc-9.4.0/config.sub	2023-06-13 00:16:43.440074368 +0200
     11 @@ -1,8 +1,8 @@
     12  #! /bin/sh
     13  # Configuration validation subroutine script.
     14 -#   Copyright 1992-2019 Free Software Foundation, Inc.
     15 +#   Copyright 1992-2016 Free Software Foundation, Inc.
     16  
     17 -timestamp='2019-01-01'
     18 +timestamp='2016-03-30'
     19  
     20  # This file is free software; you can redistribute it and/or modify it
     21  # under the terms of the GNU General Public License as published by
     22 @@ -15,7 +15,7 @@
     23  # General Public License for more details.
     24  #
     25  # You should have received a copy of the GNU General Public License
     26 -# along with this program; if not, see <https://www.gnu.org/licenses/>.
     27 +# along with this program; if not, see <http://www.gnu.org/licenses/>.
     28  #
     29  # As a special exception to the GNU General Public License, if you
     30  # distribute this file as part of a program that contains a
     31 @@ -33,7 +33,7 @@
     32  # Otherwise, we print the canonical config type on stdout and succeed.
     33  
     34  # You can get the latest version of this script from:
     35 -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
     36 +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
     37  
     38  # This file is supposed to be the same for all GNU packages
     39  # and recognize all the CPU types, system types and aliases
     40 @@ -57,7 +57,7 @@
     41  
     42  Canonicalize a configuration name.
     43  
     44 -Options:
     45 +Operation modes:
     46    -h, --help         print this help, then exit
     47    -t, --time-stamp   print date of last modification, then exit
     48    -v, --version      print version number, then exit
     49 @@ -67,7 +67,7 @@
     50  version="\
     51  GNU config.sub ($timestamp)
     52  
     53 -Copyright 1992-2019 Free Software Foundation, Inc.
     54 +Copyright 1992-2016 Free Software Foundation, Inc.
     55  
     56  This is free software; see the source for copying conditions.  There is NO
     57  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     58 @@ -89,12 +89,12 @@
     59      - )	# Use stdin as input.
     60         break ;;
     61      -* )
     62 -       echo "$me: invalid option $1$help" >&2
     63 +       echo "$me: invalid option $1$help"
     64         exit 1 ;;
     65  
     66      *local*)
     67         # First pass through any local machine types.
     68 -       echo "$1"
     69 +       echo $1
     70         exit ;;
     71  
     72      * )
     73 @@ -110,1162 +110,1234 @@
     74      exit 1;;
     75  esac
     76  
     77 -# Split fields of configuration type
     78 -# shellcheck disable=SC2162
     79 -IFS="-" read field1 field2 field3 field4 <<EOF
     80 -$1
     81 -EOF
     82 -
     83 -# Separate into logical components for further validation
     84 -case $1 in
     85 -	*-*-*-*-*)
     86 -		echo Invalid configuration \`"$1"\': more than four components >&2
     87 -		exit 1
     88 +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
     89 +# Here we must recognize all the valid KERNEL-OS combinations.
     90 +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
     91 +case $maybe_os in
     92 +  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
     93 +  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
     94 +  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
     95 +  kopensolaris*-gnu* | \
     96 +  storm-chaos* | os2-emx* | rtmk-nova*)
     97 +    os=-$maybe_os
     98 +    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     99 +    ;;
    100 +  android-linux)
    101 +    os=-linux-android
    102 +    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
    103 +    ;;
    104 +  *)
    105 +    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
    106 +    if [ $basic_machine != $1 ]
    107 +    then os=`echo $1 | sed 's/.*-/-/'`
    108 +    else os=; fi
    109 +    ;;
    110 +esac
    111 +
    112 +### Let's recognize common machines as not being operating systems so
    113 +### that things like config.sub decstation-3100 work.  We also
    114 +### recognize some manufacturers as not being operating systems, so we
    115 +### can provide default operating systems below.
    116 +case $os in
    117 +	-sun*os*)
    118 +		# Prevent following clause from handling this invalid input.
    119  		;;
    120 -	*-*-*-*)
    121 -		basic_machine=$field1-$field2
    122 -		os=$field3-$field4
    123 +	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
    124 +	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
    125 +	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
    126 +	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
    127 +	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
    128 +	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
    129 +	-apple | -axis | -knuth | -cray | -microblaze*)
    130 +		os=
    131 +		basic_machine=$1
    132 +		;;
    133 +	-bluegene*)
    134 +		os=-cnk
    135 +		;;
    136 +	-sim | -cisco | -oki | -wec | -winbond)
    137 +		os=
    138 +		basic_machine=$1
    139 +		;;
    140 +	-scout)
    141 +		;;
    142 +	-wrs)
    143 +		os=-vxworks
    144 +		basic_machine=$1
    145 +		;;
    146 +	-chorusos*)
    147 +		os=-chorusos
    148 +		basic_machine=$1
    149 +		;;
    150 +	-chorusrdb)
    151 +		os=-chorusrdb
    152 +		basic_machine=$1
    153 +		;;
    154 +	-hiux*)
    155 +		os=-hiuxwe2
    156 +		;;
    157 +	-sco6)
    158 +		os=-sco5v6
    159 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    160 +		;;
    161 +	-sco5)
    162 +		os=-sco3.2v5
    163 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    164 +		;;
    165 +	-sco4)
    166 +		os=-sco3.2v4
    167 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    168  		;;
    169 -	*-*-*)
    170 -		# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
    171 -		# parts
    172 -		maybe_os=$field2-$field3
    173 -		case $maybe_os in
    174 -			nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
    175 -			| linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
    176 -			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
    177 -			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
    178 -			| storm-chaos* | os2-emx* | rtmk-nova*)
    179 -				basic_machine=$field1
    180 -				os=$maybe_os
    181 -				;;
    182 -			android-linux)
    183 -				basic_machine=$field1-unknown
    184 -				os=linux-android
    185 -				;;
    186 -			*)
    187 -				basic_machine=$field1-$field2
    188 -				os=$field3
    189 -				;;
    190 -		esac
    191 +	-sco3.2.[4-9]*)
    192 +		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
    193 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    194  		;;
    195 -	*-*)
    196 -		# A lone config we happen to match not fitting any pattern
    197 -		case $field1-$field2 in
    198 -			decstation-3100)
    199 -				basic_machine=mips-dec
    200 -				os=
    201 -				;;
    202 -			*-*)
    203 -				# Second component is usually, but not always the OS
    204 -				case $field2 in
    205 -					# Prevent following clause from handling this valid os
    206 -					sun*os*)
    207 -						basic_machine=$field1
    208 -						os=$field2
    209 -						;;
    210 -					# Manufacturers
    211 -					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
    212 -					| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
    213 -					| unicom* | ibm* | next | hp | isi* | apollo | altos* \
    214 -					| convergent* | ncr* | news | 32* | 3600* | 3100* \
    215 -					| hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
    216 -					| ultra | tti* | harris | dolphin | highlevel | gould \
    217 -					| cbm | ns | masscomp | apple | axis | knuth | cray \
    218 -					| microblaze* | sim | cisco \
    219 -					| oki | wec | wrs | winbond)
    220 -						basic_machine=$field1-$field2
    221 -						os=
    222 -						;;
    223 -					*)
    224 -						basic_machine=$field1
    225 -						os=$field2
    226 -						;;
    227 -				esac
    228 -			;;
    229 -		esac
    230 +	-sco3.2v[4-9]*)
    231 +		# Don't forget version if it is 3.2v4 or newer.
    232 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    233  		;;
    234 -	*)
    235 -		# Convert single-component short-hands not valid as part of
    236 -		# multi-component configurations.
    237 -		case $field1 in
    238 -			386bsd)
    239 -				basic_machine=i386-pc
    240 -				os=bsd
    241 -				;;
    242 -			a29khif)
    243 -				basic_machine=a29k-amd
    244 -				os=udi
    245 -				;;
    246 -			adobe68k)
    247 -				basic_machine=m68010-adobe
    248 -				os=scout
    249 -				;;
    250 -			alliant)
    251 -				basic_machine=fx80-alliant
    252 -				os=
    253 -				;;
    254 -			altos | altos3068)
    255 -				basic_machine=m68k-altos
    256 -				os=
    257 -				;;
    258 -			am29k)
    259 -				basic_machine=a29k-none
    260 -				os=bsd
    261 -				;;
    262 -			amdahl)
    263 -				basic_machine=580-amdahl
    264 -				os=sysv
    265 -				;;
    266 -			amiga)
    267 -				basic_machine=m68k-unknown
    268 -				os=
    269 -				;;
    270 -			amigaos | amigados)
    271 -				basic_machine=m68k-unknown
    272 -				os=amigaos
    273 -				;;
    274 -			amigaunix | amix)
    275 -				basic_machine=m68k-unknown
    276 -				os=sysv4
    277 -				;;
    278 -			apollo68)
    279 -				basic_machine=m68k-apollo
    280 -				os=sysv
    281 -				;;
    282 -			apollo68bsd)
    283 -				basic_machine=m68k-apollo
    284 -				os=bsd
    285 -				;;
    286 -			aros)
    287 -				basic_machine=i386-pc
    288 -				os=aros
    289 -				;;
    290 -			aux)
    291 -				basic_machine=m68k-apple
    292 -				os=aux
    293 -				;;
    294 -			balance)
    295 -				basic_machine=ns32k-sequent
    296 -				os=dynix
    297 -				;;
    298 -			blackfin)
    299 -				basic_machine=bfin-unknown
    300 -				os=linux
    301 -				;;
    302 -			cegcc)
    303 -				basic_machine=arm-unknown
    304 -				os=cegcc
    305 -				;;
    306 -			convex-c1)
    307 -				basic_machine=c1-convex
    308 -				os=bsd
    309 -				;;
    310 -			convex-c2)
    311 -				basic_machine=c2-convex
    312 -				os=bsd
    313 -				;;
    314 -			convex-c32)
    315 -				basic_machine=c32-convex
    316 -				os=bsd
    317 -				;;
    318 -			convex-c34)
    319 -				basic_machine=c34-convex
    320 -				os=bsd
    321 -				;;
    322 -			convex-c38)
    323 -				basic_machine=c38-convex
    324 -				os=bsd
    325 -				;;
    326 -			cray)
    327 -				basic_machine=j90-cray
    328 -				os=unicos
    329 -				;;
    330 -			crds | unos)
    331 -				basic_machine=m68k-crds
    332 -				os=
    333 -				;;
    334 -			da30)
    335 -				basic_machine=m68k-da30
    336 -				os=
    337 -				;;
    338 -			decstation | pmax | pmin | dec3100 | decstatn)
    339 -				basic_machine=mips-dec
    340 -				os=
    341 -				;;
    342 -			delta88)
    343 -				basic_machine=m88k-motorola
    344 -				os=sysv3
    345 -				;;
    346 -			dicos)
    347 -				basic_machine=i686-pc
    348 -				os=dicos
    349 -				;;
    350 -			djgpp)
    351 -				basic_machine=i586-pc
    352 -				os=msdosdjgpp
    353 -				;;
    354 -			ebmon29k)
    355 -				basic_machine=a29k-amd
    356 -				os=ebmon
    357 -				;;
    358 -			es1800 | OSE68k | ose68k | ose | OSE)
    359 -				basic_machine=m68k-ericsson
    360 -				os=ose
    361 -				;;
    362 -			gmicro)
    363 -				basic_machine=tron-gmicro
    364 -				os=sysv
    365 -				;;
    366 -			go32)
    367 -				basic_machine=i386-pc
    368 -				os=go32
    369 -				;;
    370 -			h8300hms)
    371 -				basic_machine=h8300-hitachi
    372 -				os=hms
    373 -				;;
    374 -			h8300xray)
    375 -				basic_machine=h8300-hitachi
    376 -				os=xray
    377 -				;;
    378 -			h8500hms)
    379 -				basic_machine=h8500-hitachi
    380 -				os=hms
    381 -				;;
    382 -			harris)
    383 -				basic_machine=m88k-harris
    384 -				os=sysv3
    385 -				;;
    386 -			hp300)
    387 -				basic_machine=m68k-hp
    388 -				;;
    389 -			hp300bsd)
    390 -				basic_machine=m68k-hp
    391 -				os=bsd
    392 -				;;
    393 -			hp300hpux)
    394 -				basic_machine=m68k-hp
    395 -				os=hpux
    396 -				;;
    397 -			hppaosf)
    398 -				basic_machine=hppa1.1-hp
    399 -				os=osf
    400 -				;;
    401 -			hppro)
    402 -				basic_machine=hppa1.1-hp
    403 -				os=proelf
    404 -				;;
    405 -			i386mach)
    406 -				basic_machine=i386-mach
    407 -				os=mach
    408 -				;;
    409 -			vsta)
    410 -				basic_machine=i386-pc
    411 -				os=vsta
    412 -				;;
    413 -			isi68 | isi)
    414 -				basic_machine=m68k-isi
    415 -				os=sysv
    416 -				;;
    417 -			m68knommu)
    418 -				basic_machine=m68k-unknown
    419 -				os=linux
    420 -				;;
    421 -			magnum | m3230)
    422 -				basic_machine=mips-mips
    423 -				os=sysv
    424 -				;;
    425 -			merlin)
    426 -				basic_machine=ns32k-utek
    427 -				os=sysv
    428 -				;;
    429 -			mingw64)
    430 -				basic_machine=x86_64-pc
    431 -				os=mingw64
    432 -				;;
    433 -			mingw32)
    434 -				basic_machine=i686-pc
    435 -				os=mingw32
    436 -				;;
    437 -			mingw32ce)
    438 -				basic_machine=arm-unknown
    439 -				os=mingw32ce
    440 -				;;
    441 -			monitor)
    442 -				basic_machine=m68k-rom68k
    443 -				os=coff
    444 -				;;
    445 -			morphos)
    446 -				basic_machine=powerpc-unknown
    447 -				os=morphos
    448 -				;;
    449 -			moxiebox)
    450 -				basic_machine=moxie-unknown
    451 -				os=moxiebox
    452 -				;;
    453 -			msdos)
    454 -				basic_machine=i386-pc
    455 -				os=msdos
    456 -				;;
    457 -			msys)
    458 -				basic_machine=i686-pc
    459 -				os=msys
    460 -				;;
    461 -			mvs)
    462 -				basic_machine=i370-ibm
    463 -				os=mvs
    464 -				;;
    465 -			nacl)
    466 -				basic_machine=le32-unknown
    467 -				os=nacl
    468 -				;;
    469 -			ncr3000)
    470 -				basic_machine=i486-ncr
    471 -				os=sysv4
    472 -				;;
    473 -			netbsd386)
    474 -				basic_machine=i386-pc
    475 -				os=netbsd
    476 -				;;
    477 -			netwinder)
    478 -				basic_machine=armv4l-rebel
    479 -				os=linux
    480 -				;;
    481 -			news | news700 | news800 | news900)
    482 -				basic_machine=m68k-sony
    483 -				os=newsos
    484 -				;;
    485 -			news1000)
    486 -				basic_machine=m68030-sony
    487 -				os=newsos
    488 -				;;
    489 -			necv70)
    490 -				basic_machine=v70-nec
    491 -				os=sysv
    492 -				;;
    493 -			nh3000)
    494 -				basic_machine=m68k-harris
    495 -				os=cxux
    496 -				;;
    497 -			nh[45]000)
    498 -				basic_machine=m88k-harris
    499 -				os=cxux
    500 -				;;
    501 -			nindy960)
    502 -				basic_machine=i960-intel
    503 -				os=nindy
    504 -				;;
    505 -			mon960)
    506 -				basic_machine=i960-intel
    507 -				os=mon960
    508 -				;;
    509 -			nonstopux)
    510 -				basic_machine=mips-compaq
    511 -				os=nonstopux
    512 -				;;
    513 -			os400)
    514 -				basic_machine=powerpc-ibm
    515 -				os=os400
    516 -				;;
    517 -			OSE68000 | ose68000)
    518 -				basic_machine=m68000-ericsson
    519 -				os=ose
    520 -				;;
    521 -			os68k)
    522 -				basic_machine=m68k-none
    523 -				os=os68k
    524 -				;;
    525 -			paragon)
    526 -				basic_machine=i860-intel
    527 -				os=osf
    528 -				;;
    529 -			parisc)
    530 -				basic_machine=hppa-unknown
    531 -				os=linux
    532 -				;;
    533 -			pw32)
    534 -				basic_machine=i586-unknown
    535 -				os=pw32
    536 -				;;
    537 -			rdos | rdos64)
    538 -				basic_machine=x86_64-pc
    539 -				os=rdos
    540 -				;;
    541 -			rdos32)
    542 -				basic_machine=i386-pc
    543 -				os=rdos
    544 -				;;
    545 -			rom68k)
    546 -				basic_machine=m68k-rom68k
    547 -				os=coff
    548 -				;;
    549 -			sa29200)
    550 -				basic_machine=a29k-amd
    551 -				os=udi
    552 -				;;
    553 -			sei)
    554 -				basic_machine=mips-sei
    555 -				os=seiux
    556 -				;;
    557 -			sequent)
    558 -				basic_machine=i386-sequent
    559 -				os=
    560 -				;;
    561 -			sps7)
    562 -				basic_machine=m68k-bull
    563 -				os=sysv2
    564 -				;;
    565 -			st2000)
    566 -				basic_machine=m68k-tandem
    567 -				os=
    568 -				;;
    569 -			stratus)
    570 -				basic_machine=i860-stratus
    571 -				os=sysv4
    572 -				;;
    573 -			sun2)
    574 -				basic_machine=m68000-sun
    575 -				os=
    576 -				;;
    577 -			sun2os3)
    578 -				basic_machine=m68000-sun
    579 -				os=sunos3
    580 -				;;
    581 -			sun2os4)
    582 -				basic_machine=m68000-sun
    583 -				os=sunos4
    584 -				;;
    585 -			sun3)
    586 -				basic_machine=m68k-sun
    587 -				os=
    588 -				;;
    589 -			sun3os3)
    590 -				basic_machine=m68k-sun
    591 -				os=sunos3
    592 -				;;
    593 -			sun3os4)
    594 -				basic_machine=m68k-sun
    595 -				os=sunos4
    596 -				;;
    597 -			sun4)
    598 -				basic_machine=sparc-sun
    599 -				os=
    600 -				;;
    601 -			sun4os3)
    602 -				basic_machine=sparc-sun
    603 -				os=sunos3
    604 -				;;
    605 -			sun4os4)
    606 -				basic_machine=sparc-sun
    607 -				os=sunos4
    608 -				;;
    609 -			sun4sol2)
    610 -				basic_machine=sparc-sun
    611 -				os=solaris2
    612 -				;;
    613 -			sun386 | sun386i | roadrunner)
    614 -				basic_machine=i386-sun
    615 -				os=
    616 -				;;
    617 -			sv1)
    618 -				basic_machine=sv1-cray
    619 -				os=unicos
    620 -				;;
    621 -			symmetry)
    622 -				basic_machine=i386-sequent
    623 -				os=dynix
    624 -				;;
    625 -			t3e)
    626 -				basic_machine=alphaev5-cray
    627 -				os=unicos
    628 -				;;
    629 -			t90)
    630 -				basic_machine=t90-cray
    631 -				os=unicos
    632 -				;;
    633 -			toad1)
    634 -				basic_machine=pdp10-xkl
    635 -				os=tops20
    636 -				;;
    637 -			tpf)
    638 -				basic_machine=s390x-ibm
    639 -				os=tpf
    640 -				;;
    641 -			udi29k)
    642 -				basic_machine=a29k-amd
    643 -				os=udi
    644 -				;;
    645 -			ultra3)
    646 -				basic_machine=a29k-nyu
    647 -				os=sym1
    648 -				;;
    649 -			v810 | necv810)
    650 -				basic_machine=v810-nec
    651 -				os=none
    652 -				;;
    653 -			vaxv)
    654 -				basic_machine=vax-dec
    655 -				os=sysv
    656 -				;;
    657 -			vms)
    658 -				basic_machine=vax-dec
    659 -				os=vms
    660 -				;;
    661 -			vxworks960)
    662 -				basic_machine=i960-wrs
    663 -				os=vxworks
    664 -				;;
    665 -			vxworks68)
    666 -				basic_machine=m68k-wrs
    667 -				os=vxworks
    668 -				;;
    669 -			vxworks29k)
    670 -				basic_machine=a29k-wrs
    671 -				os=vxworks
    672 -				;;
    673 -			xbox)
    674 -				basic_machine=i686-pc
    675 -				os=mingw32
    676 -				;;
    677 -			ymp)
    678 -				basic_machine=ymp-cray
    679 -				os=unicos
    680 -				;;
    681 -			*)
    682 -				basic_machine=$1
    683 -				os=
    684 -				;;
    685 -		esac
    686 +	-sco5v6*)
    687 +		# Don't forget version if it is 3.2v4 or newer.
    688 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    689 +		;;
    690 +	-sco*)
    691 +		os=-sco3.2v2
    692 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    693 +		;;
    694 +	-udk*)
    695 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    696 +		;;
    697 +	-isc)
    698 +		os=-isc2.2
    699 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    700 +		;;
    701 +	-clix*)
    702 +		basic_machine=clipper-intergraph
    703 +		;;
    704 +	-isc*)
    705 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    706 +		;;
    707 +	-lynx*178)
    708 +		os=-lynxos178
    709 +		;;
    710 +	-lynx*5)
    711 +		os=-lynxos5
    712 +		;;
    713 +	-lynx*)
    714 +		os=-lynxos
    715 +		;;
    716 +	-ptx*)
    717 +		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
    718 +		;;
    719 +	-windowsnt*)
    720 +		os=`echo $os | sed -e 's/windowsnt/winnt/'`
    721 +		;;
    722 +	-psos*)
    723 +		os=-psos
    724 +		;;
    725 +	-mint | -mint[0-9]*)
    726 +		basic_machine=m68k-atari
    727 +		os=-mint
    728  		;;
    729  esac
    730  
    731 -# Decode 1-component or ad-hoc basic machines
    732 +# Decode aliases for certain CPU-COMPANY combinations.
    733  case $basic_machine in
    734 -	# Here we handle the default manufacturer of certain CPU types.  It is in
    735 -	# some cases the only manufacturer, in others, it is the most popular.
    736 -	w89k)
    737 -		cpu=hppa1.1
    738 -		vendor=winbond
    739 +	# Recognize the basic CPU types without company name.
    740 +	# Some are omitted here because they have special meanings below.
    741 +	1750a | 580 \
    742 +	| a29k \
    743 +	| aarch64 | aarch64_be \
    744 +	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
    745 +	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
    746 +	| am33_2.0 \
    747 +	| arc | arceb \
    748 +	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
    749 +	| avr | avr32 \
    750 +	| ba \
    751 +	| be32 | be64 \
    752 +	| bfin \
    753 +	| c4x | c8051 | clipper \
    754 +	| d10v | d30v | dlx | dsp16xx \
    755 +	| e2k | epiphany \
    756 +	| fido | fr30 | frv | ft32 \
    757 +	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
    758 +	| hexagon \
    759 +	| i370 | i860 | i960 | ia64 \
    760 +	| ip2k | iq2000 \
    761 +	| k1om \
    762 +	| le32 | le64 \
    763 +	| lm32 \
    764 +	| m32c | m32r | m32rle | m68000 | m68k | m88k \
    765 +	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
    766 +	| mips | mipsbe | mipseb | mipsel | mipsle \
    767 +	| mips16 \
    768 +	| mips64 | mips64el \
    769 +	| mips64octeon | mips64octeonel \
    770 +	| mips64orion | mips64orionel \
    771 +	| mips64r5900 | mips64r5900el \
    772 +	| mips64vr | mips64vrel \
    773 +	| mips64vr4100 | mips64vr4100el \
    774 +	| mips64vr4300 | mips64vr4300el \
    775 +	| mips64vr5000 | mips64vr5000el \
    776 +	| mips64vr5900 | mips64vr5900el \
    777 +	| mipsisa32 | mipsisa32el \
    778 +	| mipsisa32r2 | mipsisa32r2el \
    779 +	| mipsisa32r6 | mipsisa32r6el \
    780 +	| mipsisa64 | mipsisa64el \
    781 +	| mipsisa64r2 | mipsisa64r2el \
    782 +	| mipsisa64r6 | mipsisa64r6el \
    783 +	| mipsisa64sb1 | mipsisa64sb1el \
    784 +	| mipsisa64sr71k | mipsisa64sr71kel \
    785 +	| mipsr5900 | mipsr5900el \
    786 +	| mipstx39 | mipstx39el \
    787 +	| mn10200 | mn10300 \
    788 +	| moxie \
    789 +	| mt \
    790 +	| msp430 \
    791 +	| nds32 | nds32le | nds32be \
    792 +	| nios | nios2 | nios2eb | nios2el \
    793 +	| ns16k | ns32k \
    794 +	| open8 | or1k | or1knd | or32 \
    795 +	| pdp10 | pdp11 | pj | pjl \
    796 +	| powerpc | powerpc64 | powerpc64le | powerpcle \
    797 +	| pyramid \
    798 +	| riscv32 | riscv64 \
    799 +	| rl78 | rx \
    800 +	| score \
    801 +	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
    802 +	| sh64 | sh64le \
    803 +	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
    804 +	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
    805 +	| spu \
    806 +	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
    807 +	| ubicom32 \
    808 +	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    809 +	| visium \
    810 +	| we32k \
    811 +	| x86 | xc16x | xstormy16 | xtensa \
    812 +	| z8k | z80)
    813 +		basic_machine=$basic_machine-unknown
    814  		;;
    815 -	op50n)
    816 -		cpu=hppa1.1
    817 -		vendor=oki
    818 +	c54x)
    819 +		basic_machine=tic54x-unknown
    820  		;;
    821 -	op60c)
    822 -		cpu=hppa1.1
    823 -		vendor=oki
    824 +	c55x)
    825 +		basic_machine=tic55x-unknown
    826  		;;
    827 -	ibm*)
    828 -		cpu=i370
    829 -		vendor=ibm
    830 +	c6x)
    831 +		basic_machine=tic6x-unknown
    832  		;;
    833 -	orion105)
    834 -		cpu=clipper
    835 -		vendor=highlevel
    836 +	leon|leon[3-9])
    837 +		basic_machine=sparc-$basic_machine
    838  		;;
    839 -	mac | mpw | mac-mpw)
    840 -		cpu=m68k
    841 -		vendor=apple
    842 +	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
    843 +		basic_machine=$basic_machine-unknown
    844 +		os=-none
    845  		;;
    846 -	pmac | pmac-mpw)
    847 -		cpu=powerpc
    848 -		vendor=apple
    849 +	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
    850 +		;;
    851 +	ms1)
    852 +		basic_machine=mt-unknown
    853 +		;;
    854 +
    855 +	strongarm | thumb | xscale)
    856 +		basic_machine=arm-unknown
    857 +		;;
    858 +	xgate)
    859 +		basic_machine=$basic_machine-unknown
    860 +		os=-none
    861 +		;;
    862 +	xscaleeb)
    863 +		basic_machine=armeb-unknown
    864 +		;;
    865 +
    866 +	xscaleel)
    867 +		basic_machine=armel-unknown
    868  		;;
    869  
    870 +	# We use `pc' rather than `unknown'
    871 +	# because (1) that's what they normally are, and
    872 +	# (2) the word "unknown" tends to confuse beginning users.
    873 +	i*86 | x86_64)
    874 +	  basic_machine=$basic_machine-pc
    875 +	  ;;
    876 +	# Object if more than one company name word.
    877 +	*-*-*)
    878 +		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
    879 +		exit 1
    880 +		;;
    881 +	# Recognize the basic CPU types with company name.
    882 +	580-* \
    883 +	| a29k-* \
    884 +	| aarch64-* | aarch64_be-* \
    885 +	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
    886 +	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
    887 +	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
    888 +	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
    889 +	| avr-* | avr32-* \
    890 +	| ba-* \
    891 +	| be32-* | be64-* \
    892 +	| bfin-* | bs2000-* \
    893 +	| c[123]* | c30-* | [cjt]90-* | c4x-* \
    894 +	| c8051-* | clipper-* | craynv-* | cydra-* \
    895 +	| d10v-* | d30v-* | dlx-* \
    896 +	| e2k-* | elxsi-* \
    897 +	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
    898 +	| h8300-* | h8500-* \
    899 +	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
    900 +	| hexagon-* \
    901 +	| i*86-* | i860-* | i960-* | ia64-* \
    902 +	| ip2k-* | iq2000-* \
    903 +	| k1om-* \
    904 +	| le32-* | le64-* \
    905 +	| lm32-* \
    906 +	| m32c-* | m32r-* | m32rle-* \
    907 +	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
    908 +	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
    909 +	| microblaze-* | microblazeel-* \
    910 +	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
    911 +	| mips16-* \
    912 +	| mips64-* | mips64el-* \
    913 +	| mips64octeon-* | mips64octeonel-* \
    914 +	| mips64orion-* | mips64orionel-* \
    915 +	| mips64r5900-* | mips64r5900el-* \
    916 +	| mips64vr-* | mips64vrel-* \
    917 +	| mips64vr4100-* | mips64vr4100el-* \
    918 +	| mips64vr4300-* | mips64vr4300el-* \
    919 +	| mips64vr5000-* | mips64vr5000el-* \
    920 +	| mips64vr5900-* | mips64vr5900el-* \
    921 +	| mipsisa32-* | mipsisa32el-* \
    922 +	| mipsisa32r2-* | mipsisa32r2el-* \
    923 +	| mipsisa32r6-* | mipsisa32r6el-* \
    924 +	| mipsisa64-* | mipsisa64el-* \
    925 +	| mipsisa64r2-* | mipsisa64r2el-* \
    926 +	| mipsisa64r6-* | mipsisa64r6el-* \
    927 +	| mipsisa64sb1-* | mipsisa64sb1el-* \
    928 +	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
    929 +	| mipsr5900-* | mipsr5900el-* \
    930 +	| mipstx39-* | mipstx39el-* \
    931 +	| mmix-* \
    932 +	| mt-* \
    933 +	| msp430-* \
    934 +	| nds32-* | nds32le-* | nds32be-* \
    935 +	| nios-* | nios2-* | nios2eb-* | nios2el-* \
    936 +	| none-* | np1-* | ns16k-* | ns32k-* \
    937 +	| open8-* \
    938 +	| or1k*-* \
    939 +	| orion-* \
    940 +	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    941 +	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
    942 +	| pyramid-* \
    943 +	| riscv32-* | riscv64-* \
    944 +	| rl78-* | romp-* | rs6000-* | rx-* \
    945 +	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
    946 +	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
    947 +	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
    948 +	| sparclite-* \
    949 +	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
    950 +	| tahoe-* \
    951 +	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
    952 +	| tile*-* \
    953 +	| tron-* \
    954 +	| ubicom32-* \
    955 +	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
    956 +	| vax-* \
    957 +	| visium-* \
    958 +	| we32k-* \
    959 +	| x86-* | x86_64-* | xc16x-* | xps100-* \
    960 +	| xstormy16-* | xtensa*-* \
    961 +	| ymp-* \
    962 +	| z8k-* | z80-*)
    963 +		;;
    964 +	# Recognize the basic CPU types without company name, with glob match.
    965 +	xtensa*)
    966 +		basic_machine=$basic_machine-unknown
    967 +		;;
    968  	# Recognize the various machine names and aliases which stand
    969  	# for a CPU type and a company and sometimes even an OS.
    970 +	386bsd)
    971 +		basic_machine=i386-unknown
    972 +		os=-bsd
    973 +		;;
    974  	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
    975 -		cpu=m68000
    976 -		vendor=att
    977 +		basic_machine=m68000-att
    978  		;;
    979  	3b*)
    980 -		cpu=we32k
    981 -		vendor=att
    982 +		basic_machine=we32k-att
    983 +		;;
    984 +	a29khif)
    985 +		basic_machine=a29k-amd
    986 +		os=-udi
    987 +		;;
    988 +	abacus)
    989 +		basic_machine=abacus-unknown
    990 +		;;
    991 +	adobe68k)
    992 +		basic_machine=m68010-adobe
    993 +		os=-scout
    994 +		;;
    995 +	alliant | fx80)
    996 +		basic_machine=fx80-alliant
    997 +		;;
    998 +	altos | altos3068)
    999 +		basic_machine=m68k-altos
   1000 +		;;
   1001 +	am29k)
   1002 +		basic_machine=a29k-none
   1003 +		os=-bsd
   1004 +		;;
   1005 +	amd64)
   1006 +		basic_machine=x86_64-pc
   1007 +		;;
   1008 +	amd64-*)
   1009 +		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
   1010 +		;;
   1011 +	amdahl)
   1012 +		basic_machine=580-amdahl
   1013 +		os=-sysv
   1014 +		;;
   1015 +	amiga | amiga-*)
   1016 +		basic_machine=m68k-unknown
   1017 +		;;
   1018 +	amigaos | amigados)
   1019 +		basic_machine=m68k-unknown
   1020 +		os=-amigaos
   1021 +		;;
   1022 +	amigaunix | amix)
   1023 +		basic_machine=m68k-unknown
   1024 +		os=-sysv4
   1025 +		;;
   1026 +	apollo68)
   1027 +		basic_machine=m68k-apollo
   1028 +		os=-sysv
   1029 +		;;
   1030 +	apollo68bsd)
   1031 +		basic_machine=m68k-apollo
   1032 +		os=-bsd
   1033 +		;;
   1034 +	aros)
   1035 +		basic_machine=i386-pc
   1036 +		os=-aros
   1037 +		;;
   1038 +	asmjs)
   1039 +		basic_machine=asmjs-unknown
   1040 +		;;
   1041 +	aux)
   1042 +		basic_machine=m68k-apple
   1043 +		os=-aux
   1044 +		;;
   1045 +	balance)
   1046 +		basic_machine=ns32k-sequent
   1047 +		os=-dynix
   1048 +		;;
   1049 +	blackfin)
   1050 +		basic_machine=bfin-unknown
   1051 +		os=-linux
   1052 +		;;
   1053 +	blackfin-*)
   1054 +		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
   1055 +		os=-linux
   1056  		;;
   1057  	bluegene*)
   1058 -		cpu=powerpc
   1059 -		vendor=ibm
   1060 -		os=cnk
   1061 +		basic_machine=powerpc-ibm
   1062 +		os=-cnk
   1063 +		;;
   1064 +	c54x-*)
   1065 +		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
   1066 +		;;
   1067 +	c55x-*)
   1068 +		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
   1069 +		;;
   1070 +	c6x-*)
   1071 +		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
   1072 +		;;
   1073 +	c90)
   1074 +		basic_machine=c90-cray
   1075 +		os=-unicos
   1076 +		;;
   1077 +	cegcc)
   1078 +		basic_machine=arm-unknown
   1079 +		os=-cegcc
   1080 +		;;
   1081 +	convex-c1)
   1082 +		basic_machine=c1-convex
   1083 +		os=-bsd
   1084 +		;;
   1085 +	convex-c2)
   1086 +		basic_machine=c2-convex
   1087 +		os=-bsd
   1088 +		;;
   1089 +	convex-c32)
   1090 +		basic_machine=c32-convex
   1091 +		os=-bsd
   1092 +		;;
   1093 +	convex-c34)
   1094 +		basic_machine=c34-convex
   1095 +		os=-bsd
   1096 +		;;
   1097 +	convex-c38)
   1098 +		basic_machine=c38-convex
   1099 +		os=-bsd
   1100 +		;;
   1101 +	cray | j90)
   1102 +		basic_machine=j90-cray
   1103 +		os=-unicos
   1104 +		;;
   1105 +	craynv)
   1106 +		basic_machine=craynv-cray
   1107 +		os=-unicosmp
   1108 +		;;
   1109 +	cr16 | cr16-*)
   1110 +		basic_machine=cr16-unknown
   1111 +		os=-elf
   1112 +		;;
   1113 +	crds | unos)
   1114 +		basic_machine=m68k-crds
   1115 +		;;
   1116 +	crisv32 | crisv32-* | etraxfs*)
   1117 +		basic_machine=crisv32-axis
   1118 +		;;
   1119 +	cris | cris-* | etrax*)
   1120 +		basic_machine=cris-axis
   1121 +		;;
   1122 +	crx)
   1123 +		basic_machine=crx-unknown
   1124 +		os=-elf
   1125 +		;;
   1126 +	da30 | da30-*)
   1127 +		basic_machine=m68k-da30
   1128 +		;;
   1129 +	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
   1130 +		basic_machine=mips-dec
   1131  		;;
   1132  	decsystem10* | dec10*)
   1133 -		cpu=pdp10
   1134 -		vendor=dec
   1135 -		os=tops10
   1136 +		basic_machine=pdp10-dec
   1137 +		os=-tops10
   1138  		;;
   1139  	decsystem20* | dec20*)
   1140 -		cpu=pdp10
   1141 -		vendor=dec
   1142 -		os=tops20
   1143 +		basic_machine=pdp10-dec
   1144 +		os=-tops20
   1145  		;;
   1146  	delta | 3300 | motorola-3300 | motorola-delta \
   1147  	      | 3300-motorola | delta-motorola)
   1148 -		cpu=m68k
   1149 -		vendor=motorola
   1150 +		basic_machine=m68k-motorola
   1151 +		;;
   1152 +	delta88)
   1153 +		basic_machine=m88k-motorola
   1154 +		os=-sysv3
   1155 +		;;
   1156 +	dicos)
   1157 +		basic_machine=i686-pc
   1158 +		os=-dicos
   1159 +		;;
   1160 +	djgpp)
   1161 +		basic_machine=i586-pc
   1162 +		os=-msdosdjgpp
   1163 +		;;
   1164 +	dpx20 | dpx20-*)
   1165 +		basic_machine=rs6000-bull
   1166 +		os=-bosx
   1167 +		;;
   1168 +	dpx2* | dpx2*-bull)
   1169 +		basic_machine=m68k-bull
   1170 +		os=-sysv3
   1171 +		;;
   1172 +	ebmon29k)
   1173 +		basic_machine=a29k-amd
   1174 +		os=-ebmon
   1175  		;;
   1176 -	dpx2*)
   1177 -		cpu=m68k
   1178 -		vendor=bull
   1179 -		os=sysv3
   1180 +	elxsi)
   1181 +		basic_machine=elxsi-elxsi
   1182 +		os=-bsd
   1183  		;;
   1184  	encore | umax | mmax)
   1185 -		cpu=ns32k
   1186 -		vendor=encore
   1187 +		basic_machine=ns32k-encore
   1188  		;;
   1189 -	elxsi)
   1190 -		cpu=elxsi
   1191 -		vendor=elxsi
   1192 -		os=${os:-bsd}
   1193 +	es1800 | OSE68k | ose68k | ose | OSE)
   1194 +		basic_machine=m68k-ericsson
   1195 +		os=-ose
   1196  		;;
   1197  	fx2800)
   1198 -		cpu=i860
   1199 -		vendor=alliant
   1200 +		basic_machine=i860-alliant
   1201  		;;
   1202  	genix)
   1203 -		cpu=ns32k
   1204 -		vendor=ns
   1205 +		basic_machine=ns32k-ns
   1206 +		;;
   1207 +	gmicro)
   1208 +		basic_machine=tron-gmicro
   1209 +		os=-sysv
   1210 +		;;
   1211 +	go32)
   1212 +		basic_machine=i386-pc
   1213 +		os=-go32
   1214  		;;
   1215  	h3050r* | hiux*)
   1216 -		cpu=hppa1.1
   1217 -		vendor=hitachi
   1218 -		os=hiuxwe2
   1219 +		basic_machine=hppa1.1-hitachi
   1220 +		os=-hiuxwe2
   1221 +		;;
   1222 +	h8300hms)
   1223 +		basic_machine=h8300-hitachi
   1224 +		os=-hms
   1225 +		;;
   1226 +	h8300xray)
   1227 +		basic_machine=h8300-hitachi
   1228 +		os=-xray
   1229 +		;;
   1230 +	h8500hms)
   1231 +		basic_machine=h8500-hitachi
   1232 +		os=-hms
   1233 +		;;
   1234 +	harris)
   1235 +		basic_machine=m88k-harris
   1236 +		os=-sysv3
   1237 +		;;
   1238 +	hp300-*)
   1239 +		basic_machine=m68k-hp
   1240 +		;;
   1241 +	hp300bsd)
   1242 +		basic_machine=m68k-hp
   1243 +		os=-bsd
   1244 +		;;
   1245 +	hp300hpux)
   1246 +		basic_machine=m68k-hp
   1247 +		os=-hpux
   1248  		;;
   1249  	hp3k9[0-9][0-9] | hp9[0-9][0-9])
   1250 -		cpu=hppa1.0
   1251 -		vendor=hp
   1252 +		basic_machine=hppa1.0-hp
   1253  		;;
   1254  	hp9k2[0-9][0-9] | hp9k31[0-9])
   1255 -		cpu=m68000
   1256 -		vendor=hp
   1257 +		basic_machine=m68000-hp
   1258  		;;
   1259  	hp9k3[2-9][0-9])
   1260 -		cpu=m68k
   1261 -		vendor=hp
   1262 +		basic_machine=m68k-hp
   1263  		;;
   1264  	hp9k6[0-9][0-9] | hp6[0-9][0-9])
   1265 -		cpu=hppa1.0
   1266 -		vendor=hp
   1267 +		basic_machine=hppa1.0-hp
   1268  		;;
   1269  	hp9k7[0-79][0-9] | hp7[0-79][0-9])
   1270 -		cpu=hppa1.1
   1271 -		vendor=hp
   1272 +		basic_machine=hppa1.1-hp
   1273  		;;
   1274  	hp9k78[0-9] | hp78[0-9])
   1275  		# FIXME: really hppa2.0-hp
   1276 -		cpu=hppa1.1
   1277 -		vendor=hp
   1278 +		basic_machine=hppa1.1-hp
   1279  		;;
   1280  	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
   1281  		# FIXME: really hppa2.0-hp
   1282 -		cpu=hppa1.1
   1283 -		vendor=hp
   1284 +		basic_machine=hppa1.1-hp
   1285  		;;
   1286  	hp9k8[0-9][13679] | hp8[0-9][13679])
   1287 -		cpu=hppa1.1
   1288 -		vendor=hp
   1289 +		basic_machine=hppa1.1-hp
   1290  		;;
   1291  	hp9k8[0-9][0-9] | hp8[0-9][0-9])
   1292 -		cpu=hppa1.0
   1293 -		vendor=hp
   1294 +		basic_machine=hppa1.0-hp
   1295 +		;;
   1296 +	hppa-next)
   1297 +		os=-nextstep3
   1298 +		;;
   1299 +	hppaosf)
   1300 +		basic_machine=hppa1.1-hp
   1301 +		os=-osf
   1302 +		;;
   1303 +	hppro)
   1304 +		basic_machine=hppa1.1-hp
   1305 +		os=-proelf
   1306 +		;;
   1307 +	i370-ibm* | ibm*)
   1308 +		basic_machine=i370-ibm
   1309  		;;
   1310  	i*86v32)
   1311 -		cpu=`echo "$1" | sed -e 's/86.*/86/'`
   1312 -		vendor=pc
   1313 -		os=sysv32
   1314 +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   1315 +		os=-sysv32
   1316  		;;
   1317  	i*86v4*)
   1318 -		cpu=`echo "$1" | sed -e 's/86.*/86/'`
   1319 -		vendor=pc
   1320 -		os=sysv4
   1321 +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   1322 +		os=-sysv4
   1323  		;;
   1324  	i*86v)
   1325 -		cpu=`echo "$1" | sed -e 's/86.*/86/'`
   1326 -		vendor=pc
   1327 -		os=sysv
   1328 +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   1329 +		os=-sysv
   1330  		;;
   1331  	i*86sol2)
   1332 -		cpu=`echo "$1" | sed -e 's/86.*/86/'`
   1333 -		vendor=pc
   1334 -		os=solaris2
   1335 -		;;
   1336 -	j90 | j90-cray)
   1337 -		cpu=j90
   1338 -		vendor=cray
   1339 -		os=${os:-unicos}
   1340 +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   1341 +		os=-solaris2
   1342 +		;;
   1343 +	i386mach)
   1344 +		basic_machine=i386-mach
   1345 +		os=-mach
   1346 +		;;
   1347 +	i386-vsta | vsta)
   1348 +		basic_machine=i386-unknown
   1349 +		os=-vsta
   1350  		;;
   1351  	iris | iris4d)
   1352 -		cpu=mips
   1353 -		vendor=sgi
   1354 +		basic_machine=mips-sgi
   1355  		case $os in
   1356 -		    irix*)
   1357 +		    -irix*)
   1358  			;;
   1359  		    *)
   1360 -			os=irix4
   1361 +			os=-irix4
   1362  			;;
   1363  		esac
   1364  		;;
   1365 +	isi68 | isi)
   1366 +		basic_machine=m68k-isi
   1367 +		os=-sysv
   1368 +		;;
   1369 +	leon-*|leon[3-9]-*)
   1370 +		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
   1371 +		;;
   1372 +	m68knommu)
   1373 +		basic_machine=m68k-unknown
   1374 +		os=-linux
   1375 +		;;
   1376 +	m68knommu-*)
   1377 +		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
   1378 +		os=-linux
   1379 +		;;
   1380 +	m88k-omron*)
   1381 +		basic_machine=m88k-omron
   1382 +		;;
   1383 +	magnum | m3230)
   1384 +		basic_machine=mips-mips
   1385 +		os=-sysv
   1386 +		;;
   1387 +	merlin)
   1388 +		basic_machine=ns32k-utek
   1389 +		os=-sysv
   1390 +		;;
   1391 +	microblaze*)
   1392 +		basic_machine=microblaze-xilinx
   1393 +		;;
   1394 +	mingw64)
   1395 +		basic_machine=x86_64-pc
   1396 +		os=-mingw64
   1397 +		;;
   1398 +	mingw32)
   1399 +		basic_machine=i686-pc
   1400 +		os=-mingw32
   1401 +		;;
   1402 +	mingw32ce)
   1403 +		basic_machine=arm-unknown
   1404 +		os=-mingw32ce
   1405 +		;;
   1406  	miniframe)
   1407 -		cpu=m68000
   1408 -		vendor=convergent
   1409 +		basic_machine=m68000-convergent
   1410  		;;
   1411 -	*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
   1412 -		cpu=m68k
   1413 -		vendor=atari
   1414 -		os=mint
   1415 +	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
   1416 +		basic_machine=m68k-atari
   1417 +		os=-mint
   1418 +		;;
   1419 +	mips3*-*)
   1420 +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
   1421 +		;;
   1422 +	mips3*)
   1423 +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
   1424 +		;;
   1425 +	monitor)
   1426 +		basic_machine=m68k-rom68k
   1427 +		os=-coff
   1428 +		;;
   1429 +	morphos)
   1430 +		basic_machine=powerpc-unknown
   1431 +		os=-morphos
   1432 +		;;
   1433 +	moxiebox)
   1434 +		basic_machine=moxie-unknown
   1435 +		os=-moxiebox
   1436 +		;;
   1437 +	msdos)
   1438 +		basic_machine=i386-pc
   1439 +		os=-msdos
   1440 +		;;
   1441 +	ms1-*)
   1442 +		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
   1443 +		;;
   1444 +	msys)
   1445 +		basic_machine=i686-pc
   1446 +		os=-msys
   1447 +		;;
   1448 +	mvs)
   1449 +		basic_machine=i370-ibm
   1450 +		os=-mvs
   1451 +		;;
   1452 +	nacl)
   1453 +		basic_machine=le32-unknown
   1454 +		os=-nacl
   1455 +		;;
   1456 +	ncr3000)
   1457 +		basic_machine=i486-ncr
   1458 +		os=-sysv4
   1459 +		;;
   1460 +	netbsd386)
   1461 +		basic_machine=i386-unknown
   1462 +		os=-netbsd
   1463 +		;;
   1464 +	netwinder)
   1465 +		basic_machine=armv4l-rebel
   1466 +		os=-linux
   1467 +		;;
   1468 +	news | news700 | news800 | news900)
   1469 +		basic_machine=m68k-sony
   1470 +		os=-newsos
   1471 +		;;
   1472 +	news1000)
   1473 +		basic_machine=m68030-sony
   1474 +		os=-newsos
   1475  		;;
   1476  	news-3600 | risc-news)
   1477 -		cpu=mips
   1478 -		vendor=sony
   1479 -		os=newsos
   1480 -		;;
   1481 -	next | m*-next)
   1482 -		cpu=m68k
   1483 -		vendor=next
   1484 +		basic_machine=mips-sony
   1485 +		os=-newsos
   1486 +		;;
   1487 +	necv70)
   1488 +		basic_machine=v70-nec
   1489 +		os=-sysv
   1490 +		;;
   1491 +	next | m*-next )
   1492 +		basic_machine=m68k-next
   1493  		case $os in
   1494 -		    nextstep* )
   1495 +		    -nextstep* )
   1496  			;;
   1497 -		    ns2*)
   1498 -		      os=nextstep2
   1499 +		    -ns2*)
   1500 +		      os=-nextstep2
   1501  			;;
   1502  		    *)
   1503 -		      os=nextstep3
   1504 +		      os=-nextstep3
   1505  			;;
   1506  		esac
   1507  		;;
   1508 +	nh3000)
   1509 +		basic_machine=m68k-harris
   1510 +		os=-cxux
   1511 +		;;
   1512 +	nh[45]000)
   1513 +		basic_machine=m88k-harris
   1514 +		os=-cxux
   1515 +		;;
   1516 +	nindy960)
   1517 +		basic_machine=i960-intel
   1518 +		os=-nindy
   1519 +		;;
   1520 +	mon960)
   1521 +		basic_machine=i960-intel
   1522 +		os=-mon960
   1523 +		;;
   1524 +	nonstopux)
   1525 +		basic_machine=mips-compaq
   1526 +		os=-nonstopux
   1527 +		;;
   1528  	np1)
   1529 -		cpu=np1
   1530 -		vendor=gould
   1531 +		basic_machine=np1-gould
   1532 +		;;
   1533 +	neo-tandem)
   1534 +		basic_machine=neo-tandem
   1535 +		;;
   1536 +	nse-tandem)
   1537 +		basic_machine=nse-tandem
   1538 +		;;
   1539 +	nsr-tandem)
   1540 +		basic_machine=nsr-tandem
   1541  		;;
   1542  	op50n-* | op60c-*)
   1543 -		cpu=hppa1.1
   1544 -		vendor=oki
   1545 -		os=proelf
   1546 +		basic_machine=hppa1.1-oki
   1547 +		os=-proelf
   1548 +		;;
   1549 +	openrisc | openrisc-*)
   1550 +		basic_machine=or32-unknown
   1551 +		;;
   1552 +	os400)
   1553 +		basic_machine=powerpc-ibm
   1554 +		os=-os400
   1555 +		;;
   1556 +	OSE68000 | ose68000)
   1557 +		basic_machine=m68000-ericsson
   1558 +		os=-ose
   1559 +		;;
   1560 +	os68k)
   1561 +		basic_machine=m68k-none
   1562 +		os=-os68k
   1563  		;;
   1564  	pa-hitachi)
   1565 -		cpu=hppa1.1
   1566 -		vendor=hitachi
   1567 -		os=hiuxwe2
   1568 +		basic_machine=hppa1.1-hitachi
   1569 +		os=-hiuxwe2
   1570 +		;;
   1571 +	paragon)
   1572 +		basic_machine=i860-intel
   1573 +		os=-osf
   1574 +		;;
   1575 +	parisc)
   1576 +		basic_machine=hppa-unknown
   1577 +		os=-linux
   1578 +		;;
   1579 +	parisc-*)
   1580 +		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
   1581 +		os=-linux
   1582  		;;
   1583  	pbd)
   1584 -		cpu=sparc
   1585 -		vendor=tti
   1586 +		basic_machine=sparc-tti
   1587  		;;
   1588  	pbb)
   1589 -		cpu=m68k
   1590 -		vendor=tti
   1591 +		basic_machine=m68k-tti
   1592  		;;
   1593 -	pc532)
   1594 -		cpu=ns32k
   1595 -		vendor=pc532
   1596 +	pc532 | pc532-*)
   1597 +		basic_machine=ns32k-pc532
   1598  		;;
   1599 -	pn)
   1600 -		cpu=pn
   1601 -		vendor=gould
   1602 +	pc98)
   1603 +		basic_machine=i386-pc
   1604  		;;
   1605 -	power)
   1606 -		cpu=power
   1607 -		vendor=ibm
   1608 +	pc98-*)
   1609 +		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
   1610  		;;
   1611 -	ps2)
   1612 -		cpu=i386
   1613 -		vendor=ibm
   1614 +	pentium | p5 | k5 | k6 | nexgen | viac3)
   1615 +		basic_machine=i586-pc
   1616  		;;
   1617 -	rm[46]00)
   1618 -		cpu=mips
   1619 -		vendor=siemens
   1620 +	pentiumpro | p6 | 6x86 | athlon | athlon_*)
   1621 +		basic_machine=i686-pc
   1622  		;;
   1623 -	rtpc | rtpc-*)
   1624 -		cpu=romp
   1625 -		vendor=ibm
   1626 +	pentiumii | pentium2 | pentiumiii | pentium3)
   1627 +		basic_machine=i686-pc
   1628  		;;
   1629 -	sde)
   1630 -		cpu=mipsisa32
   1631 -		vendor=sde
   1632 -		os=${os:-elf}
   1633 -		;;
   1634 -	simso-wrs)
   1635 -		cpu=sparclite
   1636 -		vendor=wrs
   1637 -		os=vxworks
   1638 +	pentium4)
   1639 +		basic_machine=i786-pc
   1640  		;;
   1641 -	tower | tower-32)
   1642 -		cpu=m68k
   1643 -		vendor=ncr
   1644 +	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
   1645 +		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
   1646  		;;
   1647 -	vpp*|vx|vx-*)
   1648 -		cpu=f301
   1649 -		vendor=fujitsu
   1650 +	pentiumpro-* | p6-* | 6x86-* | athlon-*)
   1651 +		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   1652  		;;
   1653 -	w65)
   1654 -		cpu=w65
   1655 -		vendor=wdc
   1656 +	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
   1657 +		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   1658  		;;
   1659 -	w89k-*)
   1660 -		cpu=hppa1.1
   1661 -		vendor=winbond
   1662 -		os=proelf
   1663 +	pentium4-*)
   1664 +		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
   1665  		;;
   1666 -	none)
   1667 -		cpu=none
   1668 -		vendor=none
   1669 +	pn)
   1670 +		basic_machine=pn-gould
   1671  		;;
   1672 -	leon|leon[3-9])
   1673 -		cpu=sparc
   1674 -		vendor=$basic_machine
   1675 +	power)	basic_machine=power-ibm
   1676  		;;
   1677 -	leon-*|leon[3-9]-*)
   1678 -		cpu=sparc
   1679 -		vendor=`echo "$basic_machine" | sed 's/-.*//'`
   1680 +	ppc | ppcbe)	basic_machine=powerpc-unknown
   1681  		;;
   1682 -
   1683 -	*-*)
   1684 -	    	# shellcheck disable=SC2162
   1685 -		IFS="-" read cpu vendor <<EOF
   1686 -$basic_machine
   1687 -EOF
   1688 +	ppc-* | ppcbe-*)
   1689 +		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
   1690  		;;
   1691 -	# We use `pc' rather than `unknown'
   1692 -	# because (1) that's what they normally are, and
   1693 -	# (2) the word "unknown" tends to confuse beginning users.
   1694 -	i*86 | x86_64)
   1695 -		cpu=$basic_machine
   1696 -		vendor=pc
   1697 +	ppcle | powerpclittle | ppc-le | powerpc-little)
   1698 +		basic_machine=powerpcle-unknown
   1699  		;;
   1700 -	# These rules are duplicated from below for sake of the special case above;
   1701 -	# i.e. things that normalized to x86 arches should also default to "pc"
   1702 -	pc98)
   1703 -		cpu=i386
   1704 -		vendor=pc
   1705 +	ppcle-* | powerpclittle-*)
   1706 +		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
   1707  		;;
   1708 -	x64 | amd64)
   1709 -		cpu=x86_64
   1710 -		vendor=pc
   1711 +	ppc64)	basic_machine=powerpc64-unknown
   1712  		;;
   1713 -	# Recognize the basic CPU types without company name.
   1714 -	*)
   1715 -		cpu=$basic_machine
   1716 -		vendor=unknown
   1717 +	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
   1718  		;;
   1719 -esac
   1720 -
   1721 -unset -v basic_machine
   1722 -
   1723 -# Decode basic machines in the full and proper CPU-Company form.
   1724 -case $cpu-$vendor in
   1725 -	# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
   1726 -	# some cases the only manufacturer, in others, it is the most popular.
   1727 -	craynv-unknown)
   1728 -		vendor=cray
   1729 -		os=${os:-unicosmp}
   1730 +	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
   1731 +		basic_machine=powerpc64le-unknown
   1732  		;;
   1733 -	c90-unknown | c90-cray)
   1734 -		vendor=cray
   1735 -		os=${os:-unicos}
   1736 +	ppc64le-* | powerpc64little-*)
   1737 +		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
   1738  		;;
   1739 -	fx80-unknown)
   1740 -		vendor=alliant
   1741 +	ps2)
   1742 +		basic_machine=i386-ibm
   1743  		;;
   1744 -	romp-unknown)
   1745 -		vendor=ibm
   1746 +	pw32)
   1747 +		basic_machine=i586-unknown
   1748 +		os=-pw32
   1749 +		;;
   1750 +	rdos | rdos64)
   1751 +		basic_machine=x86_64-pc
   1752 +		os=-rdos
   1753 +		;;
   1754 +	rdos32)
   1755 +		basic_machine=i386-pc
   1756 +		os=-rdos
   1757 +		;;
   1758 +	rom68k)
   1759 +		basic_machine=m68k-rom68k
   1760 +		os=-coff
   1761  		;;
   1762 -	mmix-unknown)
   1763 -		vendor=knuth
   1764 +	rm[46]00)
   1765 +		basic_machine=mips-siemens
   1766  		;;
   1767 -	microblaze-unknown | microblazeel-unknown)
   1768 -		vendor=xilinx
   1769 +	rtpc | rtpc-*)
   1770 +		basic_machine=romp-ibm
   1771  		;;
   1772 -	rs6000-unknown)
   1773 -		vendor=ibm
   1774 +	s390 | s390-*)
   1775 +		basic_machine=s390-ibm
   1776  		;;
   1777 -	vax-unknown)
   1778 -		vendor=dec
   1779 +	s390x | s390x-*)
   1780 +		basic_machine=s390x-ibm
   1781  		;;
   1782 -	pdp11-unknown)
   1783 -		vendor=dec
   1784 +	sa29200)
   1785 +		basic_machine=a29k-amd
   1786 +		os=-udi
   1787  		;;
   1788 -	we32k-unknown)
   1789 -		vendor=att
   1790 +	sb1)
   1791 +		basic_machine=mipsisa64sb1-unknown
   1792  		;;
   1793 -	cydra-unknown)
   1794 -		vendor=cydrome
   1795 +	sb1el)
   1796 +		basic_machine=mipsisa64sb1el-unknown
   1797  		;;
   1798 -	i370-ibm*)
   1799 -		vendor=ibm
   1800 +	sde)
   1801 +		basic_machine=mipsisa32-sde
   1802 +		os=-elf
   1803  		;;
   1804 -	orion-unknown)
   1805 -		vendor=highlevel
   1806 +	sei)
   1807 +		basic_machine=mips-sei
   1808 +		os=-seiux
   1809  		;;
   1810 -	xps-unknown | xps100-unknown)
   1811 -		cpu=xps100
   1812 -		vendor=honeywell
   1813 +	sequent)
   1814 +		basic_machine=i386-sequent
   1815  		;;
   1816 -
   1817 -	# Here we normalize CPU types with a missing or matching vendor
   1818 -	dpx20-unknown | dpx20-bull)
   1819 -		cpu=rs6000
   1820 -		vendor=bull
   1821 -		os=${os:-bosx}
   1822 +	sh)
   1823 +		basic_machine=sh-hitachi
   1824 +		os=-hms
   1825  		;;
   1826 -
   1827 -	# Here we normalize CPU types irrespective of the vendor
   1828 -	amd64-*)
   1829 -		cpu=x86_64
   1830 +	sh5el)
   1831 +		basic_machine=sh5le-unknown
   1832  		;;
   1833 -	blackfin-*)
   1834 -		cpu=bfin
   1835 -		os=linux
   1836 +	sh64)
   1837 +		basic_machine=sh64-unknown
   1838  		;;
   1839 -	c54x-*)
   1840 -		cpu=tic54x
   1841 +	sparclite-wrs | simso-wrs)
   1842 +		basic_machine=sparclite-wrs
   1843 +		os=-vxworks
   1844  		;;
   1845 -	c55x-*)
   1846 -		cpu=tic55x
   1847 +	sps7)
   1848 +		basic_machine=m68k-bull
   1849 +		os=-sysv2
   1850  		;;
   1851 -	c6x-*)
   1852 -		cpu=tic6x
   1853 +	spur)
   1854 +		basic_machine=spur-unknown
   1855  		;;
   1856 -	e500v[12]-*)
   1857 -		cpu=powerpc
   1858 -		os=$os"spe"
   1859 +	st2000)
   1860 +		basic_machine=m68k-tandem
   1861  		;;
   1862 -	mips3*-*)
   1863 -		cpu=mips64
   1864 +	stratus)
   1865 +		basic_machine=i860-stratus
   1866 +		os=-sysv4
   1867  		;;
   1868 -	ms1-*)
   1869 -		cpu=mt
   1870 +	strongarm-* | thumb-*)
   1871 +		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
   1872  		;;
   1873 -	m68knommu-*)
   1874 -		cpu=m68k
   1875 -		os=linux
   1876 +	sun2)
   1877 +		basic_machine=m68000-sun
   1878  		;;
   1879 -	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
   1880 -		cpu=s12z
   1881 +	sun2os3)
   1882 +		basic_machine=m68000-sun
   1883 +		os=-sunos3
   1884  		;;
   1885 -	openrisc-*)
   1886 -		cpu=or32
   1887 +	sun2os4)
   1888 +		basic_machine=m68000-sun
   1889 +		os=-sunos4
   1890  		;;
   1891 -	parisc-*)
   1892 -		cpu=hppa
   1893 -		os=linux
   1894 +	sun3os3)
   1895 +		basic_machine=m68k-sun
   1896 +		os=-sunos3
   1897  		;;
   1898 -	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
   1899 -		cpu=i586
   1900 +	sun3os4)
   1901 +		basic_machine=m68k-sun
   1902 +		os=-sunos4
   1903  		;;
   1904 -	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
   1905 -		cpu=i686
   1906 +	sun4os3)
   1907 +		basic_machine=sparc-sun
   1908 +		os=-sunos3
   1909  		;;
   1910 -	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
   1911 -		cpu=i686
   1912 +	sun4os4)
   1913 +		basic_machine=sparc-sun
   1914 +		os=-sunos4
   1915  		;;
   1916 -	pentium4-*)
   1917 -		cpu=i786
   1918 +	sun4sol2)
   1919 +		basic_machine=sparc-sun
   1920 +		os=-solaris2
   1921  		;;
   1922 -	pc98-*)
   1923 -		cpu=i386
   1924 +	sun3 | sun3-*)
   1925 +		basic_machine=m68k-sun
   1926  		;;
   1927 -	ppc-* | ppcbe-*)
   1928 -		cpu=powerpc
   1929 +	sun4)
   1930 +		basic_machine=sparc-sun
   1931  		;;
   1932 -	ppcle-* | powerpclittle-*)
   1933 -		cpu=powerpcle
   1934 +	sun386 | sun386i | roadrunner)
   1935 +		basic_machine=i386-sun
   1936  		;;
   1937 -	ppc64-*)
   1938 -		cpu=powerpc64
   1939 +	sv1)
   1940 +		basic_machine=sv1-cray
   1941 +		os=-unicos
   1942  		;;
   1943 -	ppc64le-* | powerpc64little-*)
   1944 -		cpu=powerpc64le
   1945 +	symmetry)
   1946 +		basic_machine=i386-sequent
   1947 +		os=-dynix
   1948  		;;
   1949 -	sb1-*)
   1950 -		cpu=mipsisa64sb1
   1951 +	t3e)
   1952 +		basic_machine=alphaev5-cray
   1953 +		os=-unicos
   1954  		;;
   1955 -	sb1el-*)
   1956 -		cpu=mipsisa64sb1el
   1957 +	t90)
   1958 +		basic_machine=t90-cray
   1959 +		os=-unicos
   1960  		;;
   1961 -	sh5e[lb]-*)
   1962 -		cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
   1963 +	tile*)
   1964 +		basic_machine=$basic_machine-unknown
   1965 +		os=-linux-gnu
   1966  		;;
   1967 -	spur-*)
   1968 -		cpu=spur
   1969 +	tx39)
   1970 +		basic_machine=mipstx39-unknown
   1971  		;;
   1972 -	strongarm-* | thumb-*)
   1973 -		cpu=arm
   1974 +	tx39el)
   1975 +		basic_machine=mipstx39el-unknown
   1976 +		;;
   1977 +	toad1)
   1978 +		basic_machine=pdp10-xkl
   1979 +		os=-tops20
   1980 +		;;
   1981 +	tower | tower-32)
   1982 +		basic_machine=m68k-ncr
   1983 +		;;
   1984 +	tpf)
   1985 +		basic_machine=s390x-ibm
   1986 +		os=-tpf
   1987 +		;;
   1988 +	udi29k)
   1989 +		basic_machine=a29k-amd
   1990 +		os=-udi
   1991 +		;;
   1992 +	ultra3)
   1993 +		basic_machine=a29k-nyu
   1994 +		os=-sym1
   1995 +		;;
   1996 +	v810 | necv810)
   1997 +		basic_machine=v810-nec
   1998 +		os=-none
   1999 +		;;
   2000 +	vaxv)
   2001 +		basic_machine=vax-dec
   2002 +		os=-sysv
   2003 +		;;
   2004 +	vms)
   2005 +		basic_machine=vax-dec
   2006 +		os=-vms
   2007  		;;
   2008 -	tx39-*)
   2009 -		cpu=mipstx39
   2010 +	vpp*|vx|vx-*)
   2011 +		basic_machine=f301-fujitsu
   2012  		;;
   2013 -	tx39el-*)
   2014 -		cpu=mipstx39el
   2015 +	vxworks960)
   2016 +		basic_machine=i960-wrs
   2017 +		os=-vxworks
   2018 +		;;
   2019 +	vxworks68)
   2020 +		basic_machine=m68k-wrs
   2021 +		os=-vxworks
   2022 +		;;
   2023 +	vxworks29k)
   2024 +		basic_machine=a29k-wrs
   2025 +		os=-vxworks
   2026 +		;;
   2027 +	w65*)
   2028 +		basic_machine=w65-wdc
   2029 +		os=-none
   2030  		;;
   2031 -	x64-*)
   2032 -		cpu=x86_64
   2033 +	w89k-*)
   2034 +		basic_machine=hppa1.1-winbond
   2035 +		os=-proelf
   2036 +		;;
   2037 +	xbox)
   2038 +		basic_machine=i686-pc
   2039 +		os=-mingw32
   2040 +		;;
   2041 +	xps | xps100)
   2042 +		basic_machine=xps100-honeywell
   2043  		;;
   2044  	xscale-* | xscalee[bl]-*)
   2045 -		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
   2046 +		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
   2047 +		;;
   2048 +	ymp)
   2049 +		basic_machine=ymp-cray
   2050 +		os=-unicos
   2051 +		;;
   2052 +	z8k-*-coff)
   2053 +		basic_machine=z8k-unknown
   2054 +		os=-sim
   2055 +		;;
   2056 +	z80-*-coff)
   2057 +		basic_machine=z80-unknown
   2058 +		os=-sim
   2059 +		;;
   2060 +	none)
   2061 +		basic_machine=none-none
   2062 +		os=-none
   2063  		;;
   2064  
   2065 -	# Recognize the canonical CPU Types that limit and/or modify the
   2066 -	# company names they are paired with.
   2067 -	cr16-*)
   2068 -		os=${os:-elf}
   2069 +# Here we handle the default manufacturer of certain CPU types.  It is in
   2070 +# some cases the only manufacturer, in others, it is the most popular.
   2071 +	w89k)
   2072 +		basic_machine=hppa1.1-winbond
   2073  		;;
   2074 -	crisv32-* | etraxfs*-*)
   2075 -		cpu=crisv32
   2076 -		vendor=axis
   2077 +	op50n)
   2078 +		basic_machine=hppa1.1-oki
   2079  		;;
   2080 -	cris-* | etrax*-*)
   2081 -		cpu=cris
   2082 -		vendor=axis
   2083 +	op60c)
   2084 +		basic_machine=hppa1.1-oki
   2085  		;;
   2086 -	crx-*)
   2087 -		os=${os:-elf}
   2088 +	romp)
   2089 +		basic_machine=romp-ibm
   2090  		;;
   2091 -	neo-tandem)
   2092 -		cpu=neo
   2093 -		vendor=tandem
   2094 +	mmix)
   2095 +		basic_machine=mmix-knuth
   2096  		;;
   2097 -	nse-tandem)
   2098 -		cpu=nse
   2099 -		vendor=tandem
   2100 +	rs6000)
   2101 +		basic_machine=rs6000-ibm
   2102  		;;
   2103 -	nsr-tandem)
   2104 -		cpu=nsr
   2105 -		vendor=tandem
   2106 +	vax)
   2107 +		basic_machine=vax-dec
   2108  		;;
   2109 -	nsv-tandem)
   2110 -		cpu=nsv
   2111 -		vendor=tandem
   2112 -		;;
   2113 -	nsx-tandem)
   2114 -		cpu=nsx
   2115 -		vendor=tandem
   2116 -		;;
   2117 -	s390-*)
   2118 -		cpu=s390
   2119 -		vendor=ibm
   2120 -		;;
   2121 -	s390x-*)
   2122 -		cpu=s390x
   2123 -		vendor=ibm
   2124 +	pdp10)
   2125 +		# there are many clones, so DEC is not a safe bet
   2126 +		basic_machine=pdp10-unknown
   2127  		;;
   2128 -	tile*-*)
   2129 -		os=${os:-linux-gnu}
   2130 +	pdp11)
   2131 +		basic_machine=pdp11-dec
   2132 +		;;
   2133 +	we32k)
   2134 +		basic_machine=we32k-att
   2135 +		;;
   2136 +	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
   2137 +		basic_machine=sh-unknown
   2138 +		;;
   2139 +	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
   2140 +		basic_machine=sparc-sun
   2141 +		;;
   2142 +	cydra)
   2143 +		basic_machine=cydra-cydrome
   2144 +		;;
   2145 +	orion)
   2146 +		basic_machine=orion-highlevel
   2147 +		;;
   2148 +	orion105)
   2149 +		basic_machine=clipper-highlevel
   2150 +		;;
   2151 +	mac | mpw | mac-mpw)
   2152 +		basic_machine=m68k-apple
   2153 +		;;
   2154 +	pmac | pmac-mpw)
   2155 +		basic_machine=powerpc-apple
   2156 +		;;
   2157 +	*-unknown)
   2158 +		# Make sure to match an already-canonicalized machine name.
   2159  		;;
   2160 -
   2161  	*)
   2162 -		# Recognize the canonical CPU types that are allowed with any
   2163 -		# company name.
   2164 -		case $cpu in
   2165 -			1750a | 580 \
   2166 -			| a29k \
   2167 -			| aarch64 | aarch64_be \
   2168 -			| abacus \
   2169 -			| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
   2170 -			| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
   2171 -			| alphapca5[67] | alpha64pca5[67] \
   2172 -			| am33_2.0 \
   2173 -			| amdgcn \
   2174 -			| arc | arceb \
   2175 -			| arm  | arm[lb]e | arme[lb] | armv* \
   2176 -			| avr | avr32 \
   2177 -			| asmjs \
   2178 -			| ba \
   2179 -			| be32 | be64 \
   2180 -			| bfin | bs2000 \
   2181 -			| c[123]* | c30 | [cjt]90 | c4x \
   2182 -			| c8051 | clipper | craynv | csky | cydra \
   2183 -			| d10v | d30v | dlx | dsp16xx \
   2184 -			| e2k | elxsi | epiphany \
   2185 -			| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
   2186 -			| h8300 | h8500 \
   2187 -			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
   2188 -			| hexagon \
   2189 -			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
   2190 -			| ip2k | iq2000 \
   2191 -			| k1om \
   2192 -			| le32 | le64 \
   2193 -			| lm32 \
   2194 -			| m32c | m32r | m32rle \
   2195 -			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
   2196 -			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
   2197 -			| m88110 | m88k | maxq | mb | mcore | mep | metag \
   2198 -			| microblaze | microblazeel \
   2199 -			| mips | mipsbe | mipseb | mipsel | mipsle \
   2200 -			| mips16 \
   2201 -			| mips64 | mips64el \
   2202 -			| mips64octeon | mips64octeonel \
   2203 -			| mips64orion | mips64orionel \
   2204 -			| mips64r5900 | mips64r5900el \
   2205 -			| mips64vr | mips64vrel \
   2206 -			| mips64vr4100 | mips64vr4100el \
   2207 -			| mips64vr4300 | mips64vr4300el \
   2208 -			| mips64vr5000 | mips64vr5000el \
   2209 -			| mips64vr5900 | mips64vr5900el \
   2210 -			| mipsisa32 | mipsisa32el \
   2211 -			| mipsisa32r2 | mipsisa32r2el \
   2212 -			| mipsisa32r6 | mipsisa32r6el \
   2213 -			| mipsisa64 | mipsisa64el \
   2214 -			| mipsisa64r2 | mipsisa64r2el \
   2215 -			| mipsisa64r6 | mipsisa64r6el \
   2216 -			| mipsisa64sb1 | mipsisa64sb1el \
   2217 -			| mipsisa64sr71k | mipsisa64sr71kel \
   2218 -			| mipsr5900 | mipsr5900el \
   2219 -			| mipstx39 | mipstx39el \
   2220 -			| mmix \
   2221 -			| mn10200 | mn10300 \
   2222 -			| moxie \
   2223 -			| mt \
   2224 -			| msp430 \
   2225 -			| nds32 | nds32le | nds32be \
   2226 -			| nfp \
   2227 -			| nios | nios2 | nios2eb | nios2el \
   2228 -			| none | np1 | ns16k | ns32k \
   2229 -			| open8 \
   2230 -			| or1k* \
   2231 -			| or32 \
   2232 -			| orion \
   2233 -			| pdp10 | pdp11 | pj | pjl | pn | power \
   2234 -			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
   2235 -			| pru \
   2236 -			| pyramid \
   2237 -			| riscv | riscv32 | riscv64 \
   2238 -			| rl78 | romp | rs6000 | rx \
   2239 -			| score \
   2240 -			| sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
   2241 -			| sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
   2242 -			| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
   2243 -			| sparclite \
   2244 -			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
   2245 -			| spu \
   2246 -			| tahoe \
   2247 -			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
   2248 -			| tron \
   2249 -			| ubicom32 \
   2250 -			| v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
   2251 -			| vax \
   2252 -			| visium \
   2253 -			| wasm32 \
   2254 -			| we32k \
   2255 -			| x86 | x86_64 | xc16x | xgate | xps100 \
   2256 -			| xstormy16 | xtensa* \
   2257 -			| ymp \
   2258 -			| z8k | z80)
   2259 -				;;
   2260 -
   2261 -			*)
   2262 -				echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
   2263 -				exit 1
   2264 -				;;
   2265 -		esac
   2266 +		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
   2267 +		exit 1
   2268  		;;
   2269  esac
   2270  
   2271  # Here we canonicalize certain aliases for manufacturers.
   2272 -case $vendor in
   2273 -	digital*)
   2274 -		vendor=dec
   2275 +case $basic_machine in
   2276 +	*-digital*)
   2277 +		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
   2278  		;;
   2279 -	commodore*)
   2280 -		vendor=cbm
   2281 +	*-commodore*)
   2282 +		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
   2283  		;;
   2284  	*)
   2285  		;;
   2286 @@ -1273,246 +1345,200 @@
   2287  
   2288  # Decode manufacturer-specific aliases for certain operating systems.
   2289  
   2290 -if [ x$os != x ]
   2291 +if [ x"$os" != x"" ]
   2292  then
   2293  case $os in
   2294 -	# First match some system type aliases that might get confused
   2295 -	# with valid system types.
   2296 -	# solaris* is a basic system type, with this one exception.
   2297 -	auroraux)
   2298 -		os=auroraux
   2299 -		;;
   2300 -	bluegene*)
   2301 -		os=cnk
   2302 +	# First match some system type aliases
   2303 +	# that might get confused with valid system types.
   2304 +	# -solaris* is a basic system type, with this one exception.
   2305 +	-auroraux)
   2306 +		os=-auroraux
   2307  		;;
   2308 -	solaris1 | solaris1.*)
   2309 +	-solaris1 | -solaris1.*)
   2310  		os=`echo $os | sed -e 's|solaris1|sunos4|'`
   2311  		;;
   2312 -	solaris)
   2313 -		os=solaris2
   2314 -		;;
   2315 -	unixware*)
   2316 -		os=sysv4.2uw
   2317 -		;;
   2318 -	gnu/linux*)
   2319 -		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
   2320 +	-solaris)
   2321 +		os=-solaris2
   2322  		;;
   2323 -	# es1800 is here to avoid being matched by es* (a different OS)
   2324 -	es1800*)
   2325 -		os=ose
   2326 +	-svr4*)
   2327 +		os=-sysv4
   2328  		;;
   2329 -	# Some version numbers need modification
   2330 -	chorusos*)
   2331 -		os=chorusos
   2332 +	-unixware*)
   2333 +		os=-sysv4.2uw
   2334  		;;
   2335 -	isc)
   2336 -		os=isc2.2
   2337 -		;;
   2338 -	sco6)
   2339 -		os=sco5v6
   2340 -		;;
   2341 -	sco5)
   2342 -		os=sco3.2v5
   2343 -		;;
   2344 -	sco4)
   2345 -		os=sco3.2v4
   2346 -		;;
   2347 -	sco3.2.[4-9]*)
   2348 -		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
   2349 -		;;
   2350 -	sco3.2v[4-9]* | sco5v6*)
   2351 -		# Don't forget version if it is 3.2v4 or newer.
   2352 -		;;
   2353 -	scout)
   2354 -		# Don't match below
   2355 -		;;
   2356 -	sco*)
   2357 -		os=sco3.2v2
   2358 -		;;
   2359 -	psos*)
   2360 -		os=psos
   2361 +	-gnu/linux*)
   2362 +		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
   2363  		;;
   2364 -	# Now accept the basic system types.
   2365 +	# First accept the basic system types.
   2366  	# The portable systems comes first.
   2367 -	# Each alternative MUST end in a * to match a version number.
   2368 -	# sysv* is not here because it comes later, after sysvr4.
   2369 -	gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
   2370 -	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
   2371 -	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
   2372 -	     | sym* | kopensolaris* | plan9* \
   2373 -	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
   2374 -	     | aos* | aros* | cloudabi* | sortix* \
   2375 -	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
   2376 -	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
   2377 -	     | knetbsd* | mirbsd* | netbsd* \
   2378 -	     | bitrig* | openbsd* | solidbsd* | libertybsd* \
   2379 -	     | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
   2380 -	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
   2381 -	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
   2382 -	     | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
   2383 -	     | chorusrdb* | cegcc* | glidix* \
   2384 -	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
   2385 -	     | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
   2386 -	     | linux-newlib* | linux-musl* | linux-uclibc* \
   2387 -	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
   2388 -	     | interix* | uwin* | mks* | rhapsody* | darwin* \
   2389 -	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
   2390 -	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
   2391 -	     | os2* | vos* | palmos* | uclinux* | nucleus* \
   2392 -	     | morphos* | superux* | rtmk* | windiss* \
   2393 -	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
   2394 -	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
   2395 -	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
   2396 -	     | midnightbsd* | amdhsa* | unleashed* | emscripten*)
   2397 +	# Each alternative MUST END IN A *, to match a version number.
   2398 +	# -sysv* is not here because it comes later, after sysvr4.
   2399 +	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
   2400 +	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
   2401 +	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
   2402 +	      | -sym* | -kopensolaris* | -plan9* \
   2403 +	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
   2404 +	      | -aos* | -aros* | -cloudabi* | -sortix* \
   2405 +	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
   2406 +	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
   2407 +	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
   2408 +	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
   2409 +	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
   2410 +	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
   2411 +	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
   2412 +	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
   2413 +	      | -chorusos* | -chorusrdb* | -cegcc* \
   2414 +	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
   2415 +	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
   2416 +	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
   2417 +	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
   2418 +	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
   2419 +	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
   2420 +	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
   2421 +	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
   2422 +	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
   2423 +	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
   2424 +	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
   2425 +	      | -onefs* | -tirtos*)
   2426  	# Remember, each alternative MUST END IN *, to match a version number.
   2427  		;;
   2428 -	qnx*)
   2429 -		case $cpu in
   2430 -		    x86 | i*86)
   2431 +	-qnx*)
   2432 +		case $basic_machine in
   2433 +		    x86-* | i*86-*)
   2434  			;;
   2435  		    *)
   2436 -			os=nto-$os
   2437 +			os=-nto$os
   2438  			;;
   2439  		esac
   2440  		;;
   2441 -	hiux*)
   2442 -		os=hiuxwe2
   2443 -		;;
   2444 -	nto-qnx*)
   2445 +	-nto-qnx*)
   2446  		;;
   2447 -	nto*)
   2448 +	-nto*)
   2449  		os=`echo $os | sed -e 's|nto|nto-qnx|'`
   2450  		;;
   2451 -	sim | xray | os68k* | v88r* \
   2452 -	    | windows* | osx | abug | netware* | os9* \
   2453 -	    | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
   2454 +	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
   2455 +	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
   2456 +	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
   2457  		;;
   2458 -	linux-dietlibc)
   2459 -		os=linux-dietlibc
   2460 +	-mac*)
   2461 +		os=`echo $os | sed -e 's|mac|macos|'`
   2462  		;;
   2463 -	linux*)
   2464 -		os=`echo $os | sed -e 's|linux|linux-gnu|'`
   2465 -		;;
   2466 -	lynx*178)
   2467 -		os=lynxos178
   2468 +	-linux-dietlibc)
   2469 +		os=-linux-dietlibc
   2470  		;;
   2471 -	lynx*5)
   2472 -		os=lynxos5
   2473 +	-linux*)
   2474 +		os=`echo $os | sed -e 's|linux|linux-gnu|'`
   2475  		;;
   2476 -	lynx*)
   2477 -		os=lynxos
   2478 +	-sunos5*)
   2479 +		os=`echo $os | sed -e 's|sunos5|solaris2|'`
   2480  		;;
   2481 -	mac*)
   2482 -		os=`echo "$os" | sed -e 's|mac|macos|'`
   2483 +	-sunos6*)
   2484 +		os=`echo $os | sed -e 's|sunos6|solaris3|'`
   2485  		;;
   2486 -	opened*)
   2487 -		os=openedition
   2488 +	-opened*)
   2489 +		os=-openedition
   2490  		;;
   2491 -	os400*)
   2492 -		os=os400
   2493 +	-os400*)
   2494 +		os=-os400
   2495  		;;
   2496 -	sunos5*)
   2497 -		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
   2498 +	-wince*)
   2499 +		os=-wince
   2500  		;;
   2501 -	sunos6*)
   2502 -		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
   2503 +	-osfrose*)
   2504 +		os=-osfrose
   2505  		;;
   2506 -	wince*)
   2507 -		os=wince
   2508 +	-osf*)
   2509 +		os=-osf
   2510  		;;
   2511 -	utek*)
   2512 -		os=bsd
   2513 +	-utek*)
   2514 +		os=-bsd
   2515  		;;
   2516 -	dynix*)
   2517 -		os=bsd
   2518 +	-dynix*)
   2519 +		os=-bsd
   2520  		;;
   2521 -	acis*)
   2522 -		os=aos
   2523 +	-acis*)
   2524 +		os=-aos
   2525  		;;
   2526 -	atheos*)
   2527 -		os=atheos
   2528 +	-atheos*)
   2529 +		os=-atheos
   2530  		;;
   2531 -	syllable*)
   2532 -		os=syllable
   2533 +	-syllable*)
   2534 +		os=-syllable
   2535  		;;
   2536 -	386bsd)
   2537 -		os=bsd
   2538 +	-386bsd)
   2539 +		os=-bsd
   2540  		;;
   2541 -	ctix* | uts*)
   2542 -		os=sysv
   2543 +	-ctix* | -uts*)
   2544 +		os=-sysv
   2545  		;;
   2546 -	nova*)
   2547 -		os=rtmk-nova
   2548 +	-nova*)
   2549 +		os=-rtmk-nova
   2550  		;;
   2551 -	ns2)
   2552 -		os=nextstep2
   2553 +	-ns2 )
   2554 +		os=-nextstep2
   2555  		;;
   2556 -	nsk*)
   2557 -		os=nsk
   2558 +	-nsk*)
   2559 +		os=-nsk
   2560  		;;
   2561  	# Preserve the version number of sinix5.
   2562 -	sinix5.*)
   2563 +	-sinix5.*)
   2564  		os=`echo $os | sed -e 's|sinix|sysv|'`
   2565  		;;
   2566 -	sinix*)
   2567 -		os=sysv4
   2568 +	-sinix*)
   2569 +		os=-sysv4
   2570  		;;
   2571 -	tpf*)
   2572 -		os=tpf
   2573 +	-tpf*)
   2574 +		os=-tpf
   2575  		;;
   2576 -	triton*)
   2577 -		os=sysv3
   2578 +	-triton*)
   2579 +		os=-sysv3
   2580  		;;
   2581 -	oss*)
   2582 -		os=sysv3
   2583 +	-oss*)
   2584 +		os=-sysv3
   2585  		;;
   2586 -	svr4*)
   2587 -		os=sysv4
   2588 +	-svr4)
   2589 +		os=-sysv4
   2590  		;;
   2591 -	svr3)
   2592 -		os=sysv3
   2593 +	-svr3)
   2594 +		os=-sysv3
   2595  		;;
   2596 -	sysvr4)
   2597 -		os=sysv4
   2598 +	-sysvr4)
   2599 +		os=-sysv4
   2600  		;;
   2601 -	# This must come after sysvr4.
   2602 -	sysv*)
   2603 +	# This must come after -sysvr4.
   2604 +	-sysv*)
   2605  		;;
   2606 -	ose*)
   2607 -		os=ose
   2608 +	-ose*)
   2609 +		os=-ose
   2610  		;;
   2611 -	*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
   2612 -		os=mint
   2613 +	-es1800*)
   2614 +		os=-ose
   2615  		;;
   2616 -	zvmoe)
   2617 -		os=zvmoe
   2618 +	-xenix)
   2619 +		os=-xenix
   2620  		;;
   2621 -	dicos*)
   2622 -		os=dicos
   2623 +	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
   2624 +		os=-mint
   2625  		;;
   2626 -	pikeos*)
   2627 -		# Until real need of OS specific support for
   2628 -		# particular features comes up, bare metal
   2629 -		# configurations are quite functional.
   2630 -		case $cpu in
   2631 -		    arm*)
   2632 -			os=eabi
   2633 -			;;
   2634 -		    *)
   2635 -			os=elf
   2636 -			;;
   2637 -		esac
   2638 +	-aros*)
   2639 +		os=-aros
   2640  		;;
   2641 -	nacl*)
   2642 +	-zvmoe)
   2643 +		os=-zvmoe
   2644  		;;
   2645 -	ios)
   2646 +	-dicos*)
   2647 +		os=-dicos
   2648  		;;
   2649 -	none)
   2650 +	-nacl*)
   2651 +		;;
   2652 +	-ios)
   2653  		;;
   2654 -	*-eabi)
   2655 +	-none)
   2656  		;;
   2657  	*)
   2658 -		echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
   2659 +		# Get rid of the `-' at the beginning of $os.
   2660 +		os=`echo $os | sed 's/[^-]*-//'`
   2661 +		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
   2662  		exit 1
   2663  		;;
   2664  esac
   2665 @@ -1528,265 +1554,261 @@
   2666  # will signal an error saying that MANUFACTURER isn't an operating
   2667  # system, and we'll never get to this point.
   2668  
   2669 -case $cpu-$vendor in
   2670 +case $basic_machine in
   2671  	score-*)
   2672 -		os=elf
   2673 +		os=-elf
   2674  		;;
   2675  	spu-*)
   2676 -		os=elf
   2677 +		os=-elf
   2678  		;;
   2679  	*-acorn)
   2680 -		os=riscix1.2
   2681 +		os=-riscix1.2
   2682  		;;
   2683  	arm*-rebel)
   2684 -		os=linux
   2685 +		os=-linux
   2686  		;;
   2687  	arm*-semi)
   2688 -		os=aout
   2689 +		os=-aout
   2690  		;;
   2691  	c4x-* | tic4x-*)
   2692 -		os=coff
   2693 +		os=-coff
   2694  		;;
   2695  	c8051-*)
   2696 -		os=elf
   2697 -		;;
   2698 -	clipper-intergraph)
   2699 -		os=clix
   2700 +		os=-elf
   2701  		;;
   2702  	hexagon-*)
   2703 -		os=elf
   2704 +		os=-elf
   2705  		;;
   2706  	tic54x-*)
   2707 -		os=coff
   2708 +		os=-coff
   2709  		;;
   2710  	tic55x-*)
   2711 -		os=coff
   2712 +		os=-coff
   2713  		;;
   2714  	tic6x-*)
   2715 -		os=coff
   2716 +		os=-coff
   2717  		;;
   2718  	# This must come before the *-dec entry.
   2719  	pdp10-*)
   2720 -		os=tops20
   2721 +		os=-tops20
   2722  		;;
   2723  	pdp11-*)
   2724 -		os=none
   2725 +		os=-none
   2726  		;;
   2727  	*-dec | vax-*)
   2728 -		os=ultrix4.2
   2729 +		os=-ultrix4.2
   2730  		;;
   2731  	m68*-apollo)
   2732 -		os=domain
   2733 +		os=-domain
   2734  		;;
   2735  	i386-sun)
   2736 -		os=sunos4.0.2
   2737 +		os=-sunos4.0.2
   2738  		;;
   2739  	m68000-sun)
   2740 -		os=sunos3
   2741 +		os=-sunos3
   2742  		;;
   2743  	m68*-cisco)
   2744 -		os=aout
   2745 +		os=-aout
   2746  		;;
   2747  	mep-*)
   2748 -		os=elf
   2749 +		os=-elf
   2750  		;;
   2751  	mips*-cisco)
   2752 -		os=elf
   2753 +		os=-elf
   2754  		;;
   2755  	mips*-*)
   2756 -		os=elf
   2757 +		os=-elf
   2758  		;;
   2759  	or32-*)
   2760 -		os=coff
   2761 +		os=-coff
   2762  		;;
   2763  	*-tti)	# must be before sparc entry or we get the wrong os.
   2764 -		os=sysv3
   2765 +		os=-sysv3
   2766  		;;
   2767  	sparc-* | *-sun)
   2768 -		os=sunos4.1.1
   2769 -		;;
   2770 -	pru-*)
   2771 -		os=elf
   2772 +		os=-sunos4.1.1
   2773  		;;
   2774  	*-be)
   2775 -		os=beos
   2776 +		os=-beos
   2777 +		;;
   2778 +	*-haiku)
   2779 +		os=-haiku
   2780  		;;
   2781  	*-ibm)
   2782 -		os=aix
   2783 +		os=-aix
   2784  		;;
   2785  	*-knuth)
   2786 -		os=mmixware
   2787 +		os=-mmixware
   2788  		;;
   2789  	*-wec)
   2790 -		os=proelf
   2791 +		os=-proelf
   2792  		;;
   2793  	*-winbond)
   2794 -		os=proelf
   2795 +		os=-proelf
   2796  		;;
   2797  	*-oki)
   2798 -		os=proelf
   2799 +		os=-proelf
   2800  		;;
   2801  	*-hp)
   2802 -		os=hpux
   2803 +		os=-hpux
   2804  		;;
   2805  	*-hitachi)
   2806 -		os=hiux
   2807 +		os=-hiux
   2808  		;;
   2809  	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
   2810 -		os=sysv
   2811 +		os=-sysv
   2812  		;;
   2813  	*-cbm)
   2814 -		os=amigaos
   2815 +		os=-amigaos
   2816  		;;
   2817  	*-dg)
   2818 -		os=dgux
   2819 +		os=-dgux
   2820  		;;
   2821  	*-dolphin)
   2822 -		os=sysv3
   2823 +		os=-sysv3
   2824  		;;
   2825  	m68k-ccur)
   2826 -		os=rtu
   2827 +		os=-rtu
   2828  		;;
   2829  	m88k-omron*)
   2830 -		os=luna
   2831 +		os=-luna
   2832  		;;
   2833 -	*-next)
   2834 -		os=nextstep
   2835 +	*-next )
   2836 +		os=-nextstep
   2837  		;;
   2838  	*-sequent)
   2839 -		os=ptx
   2840 +		os=-ptx
   2841  		;;
   2842  	*-crds)
   2843 -		os=unos
   2844 +		os=-unos
   2845  		;;
   2846  	*-ns)
   2847 -		os=genix
   2848 +		os=-genix
   2849  		;;
   2850  	i370-*)
   2851 -		os=mvs
   2852 +		os=-mvs
   2853 +		;;
   2854 +	*-next)
   2855 +		os=-nextstep3
   2856  		;;
   2857  	*-gould)
   2858 -		os=sysv
   2859 +		os=-sysv
   2860  		;;
   2861  	*-highlevel)
   2862 -		os=bsd
   2863 +		os=-bsd
   2864  		;;
   2865  	*-encore)
   2866 -		os=bsd
   2867 +		os=-bsd
   2868  		;;
   2869  	*-sgi)
   2870 -		os=irix
   2871 +		os=-irix
   2872  		;;
   2873  	*-siemens)
   2874 -		os=sysv4
   2875 +		os=-sysv4
   2876  		;;
   2877  	*-masscomp)
   2878 -		os=rtu
   2879 +		os=-rtu
   2880  		;;
   2881  	f30[01]-fujitsu | f700-fujitsu)
   2882 -		os=uxpv
   2883 +		os=-uxpv
   2884  		;;
   2885  	*-rom68k)
   2886 -		os=coff
   2887 +		os=-coff
   2888  		;;
   2889  	*-*bug)
   2890 -		os=coff
   2891 +		os=-coff
   2892  		;;
   2893  	*-apple)
   2894 -		os=macos
   2895 +		os=-macos
   2896  		;;
   2897  	*-atari*)
   2898 -		os=mint
   2899 -		;;
   2900 -	*-wrs)
   2901 -		os=vxworks
   2902 +		os=-mint
   2903  		;;
   2904  	*)
   2905 -		os=none
   2906 +		os=-none
   2907  		;;
   2908  esac
   2909  fi
   2910  
   2911  # Here we handle the case where we know the os, and the CPU type, but not the
   2912  # manufacturer.  We pick the logical manufacturer.
   2913 -case $vendor in
   2914 -	unknown)
   2915 +vendor=unknown
   2916 +case $basic_machine in
   2917 +	*-unknown)
   2918  		case $os in
   2919 -			riscix*)
   2920 +			-riscix*)
   2921  				vendor=acorn
   2922  				;;
   2923 -			sunos*)
   2924 +			-sunos*)
   2925  				vendor=sun
   2926  				;;
   2927 -			cnk*|-aix*)
   2928 +			-cnk*|-aix*)
   2929  				vendor=ibm
   2930  				;;
   2931 -			beos*)
   2932 +			-beos*)
   2933  				vendor=be
   2934  				;;
   2935 -			hpux*)
   2936 +			-hpux*)
   2937  				vendor=hp
   2938  				;;
   2939 -			mpeix*)
   2940 +			-mpeix*)
   2941  				vendor=hp
   2942  				;;
   2943 -			hiux*)
   2944 +			-hiux*)
   2945  				vendor=hitachi
   2946  				;;
   2947 -			unos*)
   2948 +			-unos*)
   2949  				vendor=crds
   2950  				;;
   2951 -			dgux*)
   2952 +			-dgux*)
   2953  				vendor=dg
   2954  				;;
   2955 -			luna*)
   2956 +			-luna*)
   2957  				vendor=omron
   2958  				;;
   2959 -			genix*)
   2960 +			-genix*)
   2961  				vendor=ns
   2962  				;;
   2963 -			clix*)
   2964 -				vendor=intergraph
   2965 -				;;
   2966 -			mvs* | opened*)
   2967 +			-mvs* | -opened*)
   2968  				vendor=ibm
   2969  				;;
   2970 -			os400*)
   2971 +			-os400*)
   2972  				vendor=ibm
   2973  				;;
   2974 -			ptx*)
   2975 +			-ptx*)
   2976  				vendor=sequent
   2977  				;;
   2978 -			tpf*)
   2979 +			-tpf*)
   2980  				vendor=ibm
   2981  				;;
   2982 -			vxsim* | vxworks* | windiss*)
   2983 +			-vxsim* | -vxworks* | -windiss*)
   2984  				vendor=wrs
   2985  				;;
   2986 -			aux*)
   2987 +			-aux*)
   2988  				vendor=apple
   2989  				;;
   2990 -			hms*)
   2991 +			-hms*)
   2992  				vendor=hitachi
   2993  				;;
   2994 -			mpw* | macos*)
   2995 +			-mpw* | -macos*)
   2996  				vendor=apple
   2997  				;;
   2998 -			*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
   2999 +			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
   3000  				vendor=atari
   3001  				;;
   3002 -			vos*)
   3003 +			-vos*)
   3004  				vendor=stratus
   3005  				;;
   3006  		esac
   3007 +		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
   3008  		;;
   3009  esac
   3010  
   3011 -echo "$cpu-$vendor-$os"
   3012 +echo $basic_machine$os
   3013  exit
   3014  
   3015  # Local variables:
   3016 -# eval: (add-hook 'before-save-hook 'time-stamp)
   3017 +# eval: (add-hook 'write-file-hooks 'time-stamp)
   3018  # time-stamp-start: "timestamp='"
   3019  # time-stamp-format: "%:y-%02m-%02d"
   3020  # time-stamp-end: "'"
   3021 Only in gcc-9.4.0/gcc: .config.orig
   3022 diff -ru gcc-9.4.0.orig/gcc/builtins.c gcc-9.4.0/gcc/builtins.c
   3023 --- gcc-9.4.0.orig/gcc/builtins.c	2021-06-01 09:53:04.440471339 +0200
   3024 +++ gcc-9.4.0/gcc/builtins.c	2023-06-13 00:16:43.437074369 +0200
   3025 @@ -4656,6 +4656,7 @@
   3026  static rtx
   3027  expand_builtin_memcmp (tree exp, rtx target, bool result_eq)
   3028  {
   3029 +  return NULL_RTX;
   3030    if (!validate_arglist (exp,
   3031   			 POINTER_TYPE, POINTER_TYPE, INTEGER_TYPE, VOID_TYPE))
   3032      return NULL_RTX;
   3033 Only in gcc-9.4.0/gcc: builtins.c.orig
   3034 diff -ru gcc-9.4.0.orig/gcc/common.opt gcc-9.4.0/gcc/common.opt
   3035 --- gcc-9.4.0.orig/gcc/common.opt	2021-06-01 09:53:04.468471687 +0200
   3036 +++ gcc-9.4.0/gcc/common.opt	2023-06-13 00:16:43.423074369 +0200
   3037 @@ -3287,11 +3287,11 @@
   3038  
   3039  no-pie
   3040  Driver RejectNegative Negative(shared)
   3041 -Don't create a dynamically linked position independent executable.
   3042 +Don't create a position independent executable.
   3043  
   3044  pie
   3045  Driver RejectNegative Negative(no-pie)
   3046 -Create a dynamically linked position independent executable.
   3047 +Create a position independent executable.
   3048  
   3049  static-pie
   3050  Driver RejectNegative Negative(pie)
   3051 Only in gcc-9.4.0/gcc/config: .i386.orig
   3052 Only in gcc-9.4.0/gcc/config: .m68k.orig
   3053 Only in gcc-9.4.0/gcc/config: .microblaze.orig
   3054 Only in gcc-9.4.0/gcc/config: .riscv.orig
   3055 Only in gcc-9.4.0/gcc/config: .s390.orig
   3056 Only in gcc-9.4.0/gcc/config: .sh.orig
   3057 diff -ru gcc-9.4.0.orig/gcc/config/gnu-user.h gcc-9.4.0/gcc/config/gnu-user.h
   3058 --- gcc-9.4.0.orig/gcc/config/gnu-user.h	2021-06-01 09:53:04.528472435 +0200
   3059 +++ gcc-9.4.0/gcc/config/gnu-user.h	2023-06-13 00:16:43.423074369 +0200
   3060 @@ -51,13 +51,12 @@
   3061  #define GNU_USER_TARGET_STARTFILE_SPEC \
   3062    "%{shared:; \
   3063       pg|p|profile:%{static-pie:grcrt1.o%s;:gcrt1.o%s}; \
   3064 -     static:crt1.o%s; \
   3065 -     static-pie:rcrt1.o%s; \
   3066 +     static|static-pie:%{" PIE_SPEC ":rcrt1.o%s;:crt1.o%s}; \
   3067       " PIE_SPEC ":Scrt1.o%s; \
   3068       :crt1.o%s} " \
   3069     GNU_USER_TARGET_CRTI " \
   3070 -   %{static:crtbeginT.o%s; \
   3071 -     shared|static-pie|" PIE_SPEC ":crtbeginS.o%s; \
   3072 +   %{shared|" PIE_SPEC ":crtbeginS.o%s; \
   3073 +     static:crtbeginT.o%s; \
   3074       :crtbegin.o%s} \
   3075     %{fvtable-verify=none:%s; \
   3076       fvtable-verify=preinit:vtv_start_preinit.o%s; \
   3077 @@ -76,8 +75,7 @@
   3078    "%{fvtable-verify=none:%s; \
   3079       fvtable-verify=preinit:vtv_end_preinit.o%s; \
   3080       fvtable-verify=std:vtv_end.o%s} \
   3081 -   %{static:crtend.o%s; \
   3082 -     shared|static-pie|" PIE_SPEC ":crtendS.o%s; \
   3083 +   %{shared|" PIE_SPEC ":crtendS.o%s; \
   3084       :crtend.o%s} " \
   3085     GNU_USER_TARGET_CRTN " " \
   3086     CRTOFFLOADEND
   3087 @@ -106,7 +104,7 @@
   3088  #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
   3089  
   3090  #if defined(HAVE_LD_EH_FRAME_HDR)
   3091 -#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
   3092 +#define LINK_EH_SPEC "%{!static|" PIE_SPEC ":--eh-frame-hdr} "
   3093  #endif
   3094  
   3095  #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
   3096 diff -ru gcc-9.4.0.orig/gcc/config/i386/pmm_malloc.h gcc-9.4.0/gcc/config/i386/pmm_malloc.h
   3097 --- gcc-9.4.0.orig/gcc/config/i386/pmm_malloc.h	2021-06-01 09:53:04.552472732 +0200
   3098 +++ gcc-9.4.0/gcc/config/i386/pmm_malloc.h	2023-06-13 00:16:43.400074370 +0200
   3099 @@ -27,12 +27,13 @@
   3100  #include <stdlib.h>
   3101  
   3102  /* We can't depend on <stdlib.h> since the prototype of posix_memalign
   3103 -   may not be visible.  */
   3104 +   may not be visible and we can't pollute the namespace either.  */
   3105  #ifndef __cplusplus
   3106 -extern int posix_memalign (void **, size_t, size_t);
   3107 +extern int _mm_posix_memalign (void **, size_t, size_t)
   3108  #else
   3109 -extern "C" int posix_memalign (void **, size_t, size_t) throw ();
   3110 +extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
   3111  #endif
   3112 +__asm__("posix_memalign");
   3113  
   3114  static __inline void *
   3115  _mm_malloc (size_t __size, size_t __alignment)
   3116 @@ -42,7 +43,7 @@
   3117      return malloc (__size);
   3118    if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
   3119      __alignment = sizeof (void *);
   3120 -  if (posix_memalign (&__ptr, __alignment, __size) == 0)
   3121 +  if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
   3122      return __ptr;
   3123    else
   3124      return NULL;
   3125 diff -ru gcc-9.4.0.orig/gcc/config/m68k/linux.h gcc-9.4.0/gcc/config/m68k/linux.h
   3126 --- gcc-9.4.0.orig/gcc/config/m68k/linux.h	2021-06-01 09:53:04.568472931 +0200
   3127 +++ gcc-9.4.0/gcc/config/m68k/linux.h	2023-06-13 00:16:43.422074369 +0200
   3128 @@ -73,6 +73,9 @@
   3129  
   3130  #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
   3131  
   3132 +#undef MUSL_DYNAMIC_LINKER
   3133 +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-m68k.so.1"
   3134 +
   3135  #undef LINK_SPEC
   3136  #define LINK_SPEC "-m m68kelf %{shared} \
   3137    %{!shared: \
   3138 diff -ru gcc-9.4.0.orig/gcc/config/m68k/m68k.md gcc-9.4.0/gcc/config/m68k/m68k.md
   3139 --- gcc-9.4.0.orig/gcc/config/m68k/m68k.md	2021-06-01 09:53:04.568472931 +0200
   3140 +++ gcc-9.4.0/gcc/config/m68k/m68k.md	2023-06-13 00:16:43.434074369 +0200
   3141 @@ -4126,13 +4126,13 @@
   3142  (define_expand "sqrt<mode>2"
   3143    [(set (match_operand:FP 0 "nonimmediate_operand" "")
   3144  	(sqrt:FP (match_operand:FP 1 "general_operand" "")))]
   3145 -  "TARGET_HARD_FLOAT"
   3146 +  "(TARGET_68881 && TARGET_68040) || TARGET_COLDFIRE_FPU"
   3147    "")
   3148  
   3149  (define_insn "sqrt<mode>2_68881"
   3150    [(set (match_operand:FP 0 "nonimmediate_operand" "=f")
   3151  	(sqrt:FP (match_operand:FP 1 "general_operand" "f<FP:dreg>m")))]
   3152 -  "TARGET_68881"
   3153 +  "TARGET_68881 && TARGET_68040"
   3154  {
   3155    if (FP_REG_P (operands[1]))
   3156      return "f<FP:round>sqrt%.x %1,%0";
   3157 diff -ru gcc-9.4.0.orig/gcc/config/microblaze/microblaze.c gcc-9.4.0/gcc/config/microblaze/microblaze.c
   3158 --- gcc-9.4.0.orig/gcc/config/microblaze/microblaze.c	2021-06-01 09:53:04.572472981 +0200
   3159 +++ gcc-9.4.0/gcc/config/microblaze/microblaze.c	2023-06-13 00:16:43.412074370 +0200
   3160 @@ -2476,7 +2476,7 @@
   3161  	  unsigned long value_long;
   3162  	  REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op),
   3163  				       value_long);
   3164 -	  fprintf (file, HOST_WIDE_INT_PRINT_HEX, value_long);
   3165 +	  fprintf (file, "0x%lx", value_long);
   3166  	}
   3167        else
   3168  	{
   3169 @@ -2535,7 +2535,7 @@
   3170        print_operand_address (file, XEXP (op, 0));
   3171      }
   3172    else if (letter == 'm')
   3173 -    fprintf (file, HOST_WIDE_INT_PRINT_DEC, (1L << INTVAL (op)));
   3174 +    fprintf (file, "%ld", (1L << INTVAL (op)));
   3175    else
   3176      output_addr_const (file, op);
   3177  }
   3178 diff -ru gcc-9.4.0.orig/gcc/config/riscv/riscv.c gcc-9.4.0/gcc/config/riscv/riscv.c
   3179 --- gcc-9.4.0.orig/gcc/config/riscv/riscv.c	2021-06-01 09:53:04.604473381 +0200
   3180 +++ gcc-9.4.0/gcc/config/riscv/riscv.c	2023-06-13 00:16:43.431074369 +0200
   3181 @@ -1257,9 +1257,11 @@
   3182    rtx dest, tp, tmp;
   3183    enum tls_model model = SYMBOL_REF_TLS_MODEL (loc);
   3184  
   3185 +#if 0
   3186    /* Since we support TLS copy relocs, non-PIC TLS accesses may all use LE.  */
   3187    if (!flag_pic)
   3188      model = TLS_MODEL_LOCAL_EXEC;
   3189 +#endif
   3190  
   3191    switch (model)
   3192      {
   3193 Only in gcc-9.4.0/gcc/config/riscv: riscv.c.orig
   3194 diff -ru gcc-9.4.0.orig/gcc/config/s390/linux.h gcc-9.4.0/gcc/config/s390/linux.h
   3195 --- gcc-9.4.0.orig/gcc/config/s390/linux.h	2021-06-01 09:53:04.620473579 +0200
   3196 +++ gcc-9.4.0/gcc/config/s390/linux.h	2023-06-13 00:16:43.411074370 +0200
   3197 @@ -75,6 +75,9 @@
   3198  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
   3199  #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
   3200  
   3201 +#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390.so.1"
   3202 +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
   3203 +
   3204  #undef  LINK_SPEC
   3205  #define LINK_SPEC \
   3206    "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
   3207 diff -ru gcc-9.4.0.orig/gcc/config/sh/sh.c gcc-9.4.0/gcc/config/sh/sh.c
   3208 --- gcc-9.4.0.orig/gcc/config/sh/sh.c	2021-06-01 09:53:04.632473730 +0200
   3209 +++ gcc-9.4.0/gcc/config/sh/sh.c	2023-06-13 00:16:43.408074370 +0200
   3210 @@ -689,6 +689,7 @@
   3211    model_names[sh_atomic_model::hard_llcs] = "hard-llcs";
   3212    model_names[sh_atomic_model::soft_tcb] = "soft-tcb";
   3213    model_names[sh_atomic_model::soft_imask] = "soft-imask";
   3214 +  model_names[sh_atomic_model::hard_cas] = "hard-cas";
   3215  
   3216    const char* model_cdef_names[sh_atomic_model::num_models];
   3217    model_cdef_names[sh_atomic_model::none] = "NONE";
   3218 @@ -696,6 +697,7 @@
   3219    model_cdef_names[sh_atomic_model::hard_llcs] = "HARD_LLCS";
   3220    model_cdef_names[sh_atomic_model::soft_tcb] = "SOFT_TCB";
   3221    model_cdef_names[sh_atomic_model::soft_imask] = "SOFT_IMASK";
   3222 +  model_cdef_names[sh_atomic_model::hard_cas] = "HARD_CAS";
   3223  
   3224    sh_atomic_model ret;
   3225    ret.type = sh_atomic_model::none;
   3226 @@ -774,6 +776,9 @@
   3227    if (ret.type == sh_atomic_model::soft_imask && TARGET_USERMODE)
   3228      err_ret ("cannot use atomic model %s in user mode", ret.name);
   3229  
   3230 +  if (ret.type == sh_atomic_model::hard_cas && !TARGET_SHJ2)
   3231 +    err_ret ("atomic model %s is only available J2 targets", ret.name);
   3232 +
   3233    return ret;
   3234  
   3235  #undef err_ret
   3236 @@ -830,6 +835,8 @@
   3237      sh_cpu = PROCESSOR_SH2E;
   3238    if (TARGET_SH2A)
   3239      sh_cpu = PROCESSOR_SH2A;
   3240 +  if (TARGET_SHJ2)
   3241 +    sh_cpu = PROCESSOR_SHJ2;
   3242    if (TARGET_SH3)
   3243      sh_cpu = PROCESSOR_SH3;
   3244    if (TARGET_SH3E)
   3245 Only in gcc-9.4.0/gcc/config/sh: sh.c.orig
   3246 diff -ru gcc-9.4.0.orig/gcc/config/sh/sh.h gcc-9.4.0/gcc/config/sh/sh.h
   3247 --- gcc-9.4.0.orig/gcc/config/sh/sh.h	2021-06-01 09:53:04.632473730 +0200
   3248 +++ gcc-9.4.0/gcc/config/sh/sh.h	2023-06-13 00:16:43.409074370 +0200
   3249 @@ -85,6 +85,7 @@
   3250  #define SUPPORT_SH4_SINGLE 1
   3251  #define SUPPORT_SH2A 1
   3252  #define SUPPORT_SH2A_SINGLE 1
   3253 +#define SUPPORT_SHJ2 1
   3254  #endif
   3255  
   3256  #define TARGET_DIVIDE_CALL_DIV1 (sh_div_strategy == SH_DIV_CALL_DIV1)
   3257 @@ -117,6 +118,7 @@
   3258  #define SELECT_SH4A_SINGLE_ONLY  (MASK_SH4A | SELECT_SH4_SINGLE_ONLY)
   3259  #define SELECT_SH4A		 (MASK_SH4A | SELECT_SH4)
   3260  #define SELECT_SH4A_SINGLE	 (MASK_SH4A | SELECT_SH4_SINGLE)
   3261 +#define SELECT_SHJ2		 (MASK_SHJ2 | SELECT_SH2)
   3262  
   3263  #if SUPPORT_SH1
   3264  #define SUPPORT_SH2 1
   3265 @@ -124,6 +126,7 @@
   3266  #if SUPPORT_SH2
   3267  #define SUPPORT_SH3 1
   3268  #define SUPPORT_SH2A_NOFPU 1
   3269 +#define SUPPORT_SHJ2 1
   3270  #endif
   3271  #if SUPPORT_SH3
   3272  #define SUPPORT_SH4_NOFPU 1
   3273 @@ -156,7 +159,7 @@
   3274  #define MASK_ARCH (MASK_SH1 | MASK_SH2 | MASK_SH3 | MASK_SH_E | MASK_SH4 \
   3275  		   | MASK_HARD_SH2A | MASK_HARD_SH2A_DOUBLE | MASK_SH4A \
   3276  		   | MASK_HARD_SH4 | MASK_FPU_SINGLE \
   3277 -		   | MASK_FPU_SINGLE_ONLY)
   3278 +		   | MASK_FPU_SINGLE_ONLY | MASK_SHJ2)
   3279  
   3280  /* This defaults us to big-endian.  */
   3281  #ifndef TARGET_ENDIAN_DEFAULT
   3282 @@ -231,7 +234,8 @@
   3283  %{m2a-single:--isa=sh2a} \
   3284  %{m2a-single-only:--isa=sh2a} \
   3285  %{m2a-nofpu:--isa=sh2a-nofpu} \
   3286 -%{m4al:-dsp}"
   3287 +%{m4al:-dsp} \
   3288 +%{mj2:-isa=j2}"
   3289  
   3290  #define ASM_SPEC SH_ASM_SPEC
   3291  
   3292 @@ -347,6 +351,7 @@
   3293      hard_llcs,
   3294      soft_tcb,
   3295      soft_imask,
   3296 +    hard_cas,
   3297  
   3298      num_models
   3299    };
   3300 @@ -390,6 +395,9 @@
   3301  #define TARGET_ATOMIC_SOFT_IMASK \
   3302    (selected_atomic_model ().type == sh_atomic_model::soft_imask)
   3303  
   3304 +#define TARGET_ATOMIC_HARD_CAS \
   3305 +  (selected_atomic_model ().type == sh_atomic_model::hard_cas)
   3306 +
   3307  #endif // __cplusplus
   3308  
   3309  #define SUBTARGET_OVERRIDE_OPTIONS (void) 0
   3310 @@ -1523,7 +1531,7 @@
   3311  
   3312  /* Nonzero if the target supports dynamic shift instructions
   3313     like shad and shld.  */
   3314 -#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A)
   3315 +#define TARGET_DYNSHIFT (TARGET_SH3 || TARGET_SH2A || TARGET_SHJ2)
   3316  
   3317  /* The cost of using the dynamic shift insns (shad, shld) are the same
   3318     if they are available.  If they are not available a library function will
   3319 @@ -1786,6 +1794,7 @@
   3320    PROCESSOR_SH2,
   3321    PROCESSOR_SH2E,
   3322    PROCESSOR_SH2A,
   3323 +  PROCESSOR_SHJ2,
   3324    PROCESSOR_SH3,
   3325    PROCESSOR_SH3E,
   3326    PROCESSOR_SH4,
   3327 Only in gcc-9.4.0/gcc/config/sh: sh.h.orig
   3328 diff -ru gcc-9.4.0.orig/gcc/config/sh/sh.opt gcc-9.4.0/gcc/config/sh/sh.opt
   3329 --- gcc-9.4.0.orig/gcc/config/sh/sh.opt	2021-06-01 09:53:04.636473777 +0200
   3330 +++ gcc-9.4.0/gcc/config/sh/sh.opt	2023-06-13 00:16:43.409074370 +0200
   3331 @@ -65,6 +65,10 @@
   3332  Target RejectNegative Condition(SUPPORT_SH2E)
   3333  Generate SH2e code.
   3334  
   3335 +mj2
   3336 +Target RejectNegative Mask(SHJ2) Condition(SUPPORT_SHJ2)
   3337 +Generate J2 code.
   3338 +
   3339  m3
   3340  Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3)
   3341  Generate SH3 code.
   3342 diff -ru gcc-9.4.0.orig/gcc/config/sh/sync.md gcc-9.4.0/gcc/config/sh/sync.md
   3343 --- gcc-9.4.0.orig/gcc/config/sh/sync.md	2021-06-01 09:53:04.636473777 +0200
   3344 +++ gcc-9.4.0/gcc/config/sh/sync.md	2023-06-13 00:16:43.410074370 +0200
   3345 @@ -240,6 +240,9 @@
   3346        || (TARGET_SH4A && <MODE>mode == SImode && !TARGET_ATOMIC_STRICT))
   3347      atomic_insn = gen_atomic_compare_and_swap<mode>_hard (old_val, mem,
   3348  							  exp_val, new_val);
   3349 +  else if (TARGET_ATOMIC_HARD_CAS && <MODE>mode == SImode)
   3350 +    atomic_insn = gen_atomic_compare_and_swap<mode>_cas (old_val, mem,
   3351 +							 exp_val, new_val);
   3352    else if (TARGET_ATOMIC_SOFT_GUSA)
   3353      atomic_insn = gen_atomic_compare_and_swap<mode>_soft_gusa (old_val, mem,
   3354  		      exp_val, new_val);
   3355 @@ -306,6 +309,57 @@
   3356  }
   3357    [(set_attr "length" "14")])
   3358  
   3359 +(define_expand "atomic_compare_and_swapsi_cas"
   3360 +  [(set (match_operand:SI 0 "register_operand" "=r")
   3361 +	(unspec_volatile:SI
   3362 +	  [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
   3363 +	   (match_operand:SI 2 "register_operand" "r")
   3364 +	   (match_operand:SI 3 "register_operand" "r")]
   3365 +	  UNSPECV_CMPXCHG_1))]
   3366 +  "TARGET_ATOMIC_HARD_CAS"
   3367 +{
   3368 +  rtx mem = gen_rtx_REG (SImode, 0);
   3369 +  emit_move_insn (mem, force_reg (SImode, XEXP (operands[1], 0)));
   3370 +  emit_insn (gen_shj2_cas (operands[0], mem, operands[2], operands[3]));
   3371 +  DONE;
   3372 +})
   3373 +
   3374 +(define_insn "shj2_cas"
   3375 +  [(set (match_operand:SI 0 "register_operand" "=&r")
   3376 +  (unspec_volatile:SI
   3377 +   [(match_operand:SI 1 "register_operand" "=r")
   3378 +   (match_operand:SI 2 "register_operand" "r")
   3379 +   (match_operand:SI 3 "register_operand" "0")]
   3380 +   UNSPECV_CMPXCHG_1))
   3381 +   (set (reg:SI T_REG)
   3382 +	(unspec_volatile:SI [(const_int 0)] UNSPECV_CMPXCHG_3))]
   3383 +  "TARGET_ATOMIC_HARD_CAS"
   3384 +  "cas.l	%2,%0,@%1"
   3385 +  [(set_attr "length" "2")]
   3386 +)
   3387 +
   3388 +(define_expand "atomic_compare_and_swapqi_cas"
   3389 +  [(set (match_operand:SI 0 "arith_reg_dest" "=&r")
   3390 +	(unspec_volatile:SI
   3391 +	  [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
   3392 +	   (match_operand:SI 2 "arith_operand" "rI08")
   3393 +	   (match_operand:SI 3 "arith_operand" "rI08")]
   3394 +	  UNSPECV_CMPXCHG_1))]
   3395 +  "TARGET_ATOMIC_HARD_CAS"
   3396 +{FAIL;}
   3397 +)
   3398 +
   3399 +(define_expand "atomic_compare_and_swaphi_cas"
   3400 +  [(set (match_operand:SI 0 "arith_reg_dest" "=&r")
   3401 +	(unspec_volatile:SI
   3402 +	  [(match_operand:SI 1 "atomic_mem_operand_0" "=Sra")
   3403 +	   (match_operand:SI 2 "arith_operand" "rI08")
   3404 +	   (match_operand:SI 3 "arith_operand" "rI08")]
   3405 +	  UNSPECV_CMPXCHG_1))]
   3406 +  "TARGET_ATOMIC_HARD_CAS"
   3407 +{FAIL;}
   3408 +)
   3409 +
   3410  ;; The QIHImode llcs patterns modify the address register of the memory
   3411  ;; operand.  In order to express that, we have to open code the memory
   3412  ;; operand.  Initially the insn is expanded like every other atomic insn
   3413 diff -ru gcc-9.4.0.orig/gcc/config/sh/t-sh gcc-9.4.0/gcc/config/sh/t-sh
   3414 --- gcc-9.4.0.orig/gcc/config/sh/t-sh	2021-06-01 09:53:04.636473777 +0200
   3415 +++ gcc-9.4.0/gcc/config/sh/t-sh	2023-06-13 00:16:43.410074370 +0200
   3416 @@ -50,7 +50,8 @@
   3417               m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only \
   3418               m2a-single,m2a-single-only \
   3419               m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \
   3420 -             m4,m4-100,m4-200,m4-300,m4a; do \
   3421 +             m4,m4-100,m4-200,m4-300,m4a \
   3422 +             mj2; do \
   3423      subst= ; \
   3424      for lib in `echo $$abi|tr , ' '` ; do \
   3425        if test "`echo $$multilibs|sed s/$$lib//`" != "$$multilibs"; then \
   3426 @@ -63,9 +64,9 @@
   3427  
   3428  # SH1 and SH2A support big endian only.
   3429  ifeq ($(DEFAULT_ENDIAN),ml)
   3430 -MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
   3431 +MULTILIB_EXCEPTIONS = m1 ml/m1 m2a* ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG)
   3432  else
   3433 -MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* $(TM_MULTILIB_EXCEPTIONS_CONFIG)
   3434 +MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* ml/mj2 $(TM_MULTILIB_EXCEPTIONS_CONFIG)
   3435  endif
   3436  
   3437  MULTILIB_OSDIRNAMES = \
   3438 @@ -87,7 +88,8 @@
   3439  	m4a-single-only=!m4a-single-only $(OTHER_ENDIAN)/m4a-single-only=!$(OTHER_ENDIAN)/m4a-single-only \
   3440  	m4a-single=!m4a-single $(OTHER_ENDIAN)/m4a-single=!$(OTHER_ENDIAN)/m4a-single \
   3441  	m4a=!m4a $(OTHER_ENDIAN)/m4a=!$(OTHER_ENDIAN)/m4a \
   3442 -	m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al
   3443 +	m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al \
   3444 +	mj2=!j2
   3445  
   3446  $(out_object_file): gt-sh.h
   3447  gt-sh.h : s-gtype ; @true
   3448 diff -ru gcc-9.4.0.orig/gcc/config.gcc gcc-9.4.0/gcc/config.gcc
   3449 --- gcc-9.4.0.orig/gcc/config.gcc	2021-06-01 09:53:04.472471735 +0200
   3450 +++ gcc-9.4.0/gcc/config.gcc	2023-06-13 00:16:43.405074370 +0200
   3451 @@ -536,7 +536,7 @@
   3452  	extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
   3453  	;;
   3454  # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
   3455 -sh[123456789lbe]*-*-* | sh-*-*)
   3456 +sh[123456789lbej]*-*-* | sh-*-*)
   3457  	cpu_type=sh
   3458  	extra_options="${extra_options} fused-madd.opt"
   3459  	extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
   3460 @@ -2853,18 +2853,18 @@
   3461  	extra_options="${extra_options} s390/tpf.opt"
   3462  	tmake_file="${tmake_file} s390/t-s390"
   3463  	;;
   3464 -sh-*-elf* | sh[12346l]*-*-elf* | \
   3465 -  sh-*-linux* | sh[2346lbe]*-*-linux* | \
   3466 +sh-*-elf* | sh[12346lj]*-*-elf* | \
   3467 +  sh-*-linux* | sh[2346lbej]*-*-linux* | \
   3468    sh-*-netbsdelf* | shl*-*-netbsdelf*)
   3469  	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
   3470  	if test x${with_endian} = x; then
   3471  		case ${target} in
   3472 -		sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
   3473 +		sh[j1234]*be-*-* | sh[j1234]*eb-*-*) with_endian=big ;;
   3474  		shbe-*-* | sheb-*-*)		   with_endian=big,little ;;
   3475  		sh[1234]l* | sh[34]*-*-linux*)	   with_endian=little ;;
   3476  		shl* | sh*-*-linux* | \
   3477  		  sh-superh-elf)		   with_endian=little,big ;;
   3478 -		sh[1234]*-*-*)			   with_endian=big ;;
   3479 +		sh[j1234]*-*-*)			   with_endian=big ;;
   3480  		*)				   with_endian=big,little ;;
   3481  		esac
   3482  	fi
   3483 @@ -2931,6 +2931,7 @@
   3484  	sh2a_nofpu*)		sh_cpu_target=sh2a-nofpu ;;
   3485  	sh2a*)			sh_cpu_target=sh2a ;;
   3486  	sh2e*)			sh_cpu_target=sh2e ;;
   3487 +	shj2*)			sh_cpu_target=shj2;;
   3488  	sh2*)			sh_cpu_target=sh2 ;;
   3489  	*)			sh_cpu_target=sh1 ;;
   3490  	esac
   3491 @@ -2952,7 +2953,7 @@
   3492  	  sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
   3493  	  sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
   3494  	  sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
   3495 -	  sh3e | sh3 | sh2e | sh2 | sh1) ;;
   3496 +	  sh3e | sh3 | sh2e | sh2 | sh1 | shj2) ;;
   3497  	"")	sh_cpu_default=${sh_cpu_target} ;;
   3498  	*)	echo "with_cpu=$with_cpu not supported"; exit 1 ;;
   3499  	esac
   3500 @@ -2961,9 +2962,9 @@
   3501  		case ${target} in
   3502  		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
   3503  		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
   3504 -		sh*-*-linux*)	sh_multilibs=m1,m2,m2a,m3e,m4 ;;
   3505 +		sh*-*-linux*)	sh_multilibs=m1,m2,m2a,m3e,m4,mj2 ;;
   3506  		sh*-*-netbsd*)	sh_multilibs=m3,m3e,m4 ;;
   3507 -		*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
   3508 +		*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single,mj2 ;;
   3509  		esac
   3510  		if test x$with_fp = xno; then
   3511  			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`"
   3512 @@ -2978,7 +2979,8 @@
   3513  		m1 | m2 | m2e | m3 | m3e | \
   3514  		m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
   3515  		m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
   3516 -		m2a | m2a-single | m2a-single-only | m2a-nofpu)
   3517 +		m2a | m2a-single | m2a-single-only | m2a-nofpu | \
   3518 +		mj2)
   3519  			# TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
   3520  			# It is passed to MULTIILIB_OPTIONS verbatim.
   3521  			TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
   3522 @@ -2995,7 +2997,7 @@
   3523  	done
   3524  	TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
   3525  	if test x${enable_incomplete_targets} = xyes ; then
   3526 -		tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
   3527 +		tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SHJ2=1"
   3528  	fi
   3529  	tm_file="$tm_file ./sysroot-suffix.h"
   3530  	tmake_file="$tmake_file t-sysroot-suffix"
   3531 @@ -4801,6 +4803,8 @@
   3532  			;;
   3533  		m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
   3534  		        ;;
   3535 +		mj2)
   3536 +			;;
   3537  		*)
   3538  			echo "Unknown CPU used in --with-cpu=$with_cpu, known values:"  1>&2
   3539  			echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
   3540 @@ -5028,7 +5032,7 @@
   3541  		tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
   3542  		;;
   3543  
   3544 -	sh[123456ble]*-*-* | sh-*-*)
   3545 +	sh[123456blej]*-*-* | sh-*-*)
   3546  		c_target_objs="${c_target_objs} sh-c.o"
   3547  		cxx_target_objs="${cxx_target_objs} sh-c.o"
   3548  		;;
   3549 Only in gcc-9.4.0/gcc: config.gcc.orig
   3550 diff -ru gcc-9.4.0.orig/gcc/configure gcc-9.4.0/gcc/configure
   3551 --- gcc-9.4.0.orig/gcc/configure	2021-06-01 09:53:40.596921533 +0200
   3552 +++ gcc-9.4.0/gcc/configure	2023-06-13 00:16:43.420074369 +0200
   3553 @@ -29389,6 +29389,15 @@
   3554    withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128"
   3555  else
   3556  
   3557 +      case "$target" in
   3558 +	s390*-*-linux-musl*)
   3559 +	  gcc_cv_target_ldbl128=yes
   3560 +	  ;;
   3561 +	powerpc*-*-linux-musl*)
   3562 +	  gcc_cv_target_ldbl128=no
   3563 +	  ;;
   3564 +	*)
   3565 +
   3566  if test $glibc_version_major -gt 2 \
   3567    || ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then :
   3568    gcc_cv_target_ldbl128=yes
   3569 @@ -29400,6 +29409,10 @@
   3570        && gcc_cv_target_ldbl128=yes
   3571  
   3572  fi
   3573 +
   3574 +	  ;;
   3575 +      esac
   3576 +
   3577  fi
   3578  
   3579      ;;
   3580 diff -ru gcc-9.4.0.orig/gcc/configure.ac gcc-9.4.0/gcc/configure.ac
   3581 --- gcc-9.4.0.orig/gcc/configure.ac	2021-06-01 09:53:04.664474126 +0200
   3582 +++ gcc-9.4.0/gcc/configure.ac	2023-06-13 00:16:43.422074369 +0200
   3583 @@ -6024,13 +6024,25 @@
   3584      AC_ARG_WITH(long-double-128,
   3585        [AS_HELP_STRING([--with-long-double-128],
   3586  		      [use 128-bit long double by default])],
   3587 -      gcc_cv_target_ldbl128="$with_long_double_128",
   3588 +      gcc_cv_target_ldbl128="$with_long_double_128", [
   3589 +      case "$target" in
   3590 +	s390*-*-linux-musl*)
   3591 +	  gcc_cv_target_ldbl128=yes
   3592 +	  ;;
   3593 +	powerpc*-*-linux-musl*)
   3594 +	  gcc_cv_target_ldbl128=no
   3595 +	  ;;
   3596 +	*)]
   3597        [GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [
   3598        [gcc_cv_target_ldbl128=no
   3599        grep '^[ 	]*#[ 	]*define[ 	][ 	]*__LONG_DOUBLE_MATH_OPTIONAL' \
   3600          $target_header_dir/bits/wordsize.h > /dev/null 2>&1 \
   3601        && gcc_cv_target_ldbl128=yes
   3602 -      ]])])
   3603 +      ]])]
   3604 +      [
   3605 +	  ;;
   3606 +      esac
   3607 +      ])
   3608      ;;
   3609  esac
   3610  if test x$gcc_cv_target_ldbl128 = xyes; then
   3611 Only in gcc-9.4.0/gcc: configure.ac.orig
   3612 Only in gcc-9.4.0/gcc: configure.orig
   3613 diff -ru gcc-9.4.0.orig/gcc/gcc.c gcc-9.4.0/gcc/gcc.c
   3614 --- gcc-9.4.0.orig/gcc/gcc.c	2021-06-01 09:53:04.800475820 +0200
   3615 +++ gcc-9.4.0/gcc/gcc.c	2023-06-13 00:16:43.428074369 +0200
   3616 @@ -878,7 +878,8 @@
   3617  #ifndef LINK_SSP_SPEC
   3618  #ifdef TARGET_LIBC_PROVIDES_SSP
   3619  #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
   3620 -		       "|fstack-protector-strong|fstack-protector-explicit:}"
   3621 +		       "|fstack-protector-strong|fstack-protector-explicit" \
   3622 +		       ":-lssp_nonshared}"
   3623  #else
   3624  #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
   3625  		       "|fstack-protector-strong|fstack-protector-explicit" \
   3626 @@ -907,7 +908,7 @@
   3627  #define NO_FPIE_AND_FPIC_SPEC	NO_FPIE_SPEC "|" NO_FPIC_SPEC
   3628  #define FPIE_OR_FPIC_SPEC	NO_FPIE_AND_FPIC_SPEC ":;"
   3629  #else
   3630 -#define PIE_SPEC		"pie"
   3631 +#define PIE_SPEC		"pie|static-pie"
   3632  #define FPIE1_SPEC		"fpie"
   3633  #define NO_FPIE1_SPEC		FPIE1_SPEC ":;"
   3634  #define FPIE2_SPEC		"fPIE"
   3635 @@ -931,12 +932,12 @@
   3636  #ifndef LINK_PIE_SPEC
   3637  #ifdef HAVE_LD_PIE
   3638  #ifndef LD_PIE_SPEC
   3639 -#define LD_PIE_SPEC "-pie"
   3640 +#define LD_PIE_SPEC "-pie %{static-pie:-static} %{static|static-pie:--no-dynamic-linker -z text -Bsymbolic}"
   3641  #endif
   3642  #else
   3643  #define LD_PIE_SPEC ""
   3644  #endif
   3645 -#define LINK_PIE_SPEC "%{static|shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
   3646 +#define LINK_PIE_SPEC "%{shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
   3647  #endif
   3648  
   3649  #ifndef LINK_BUILDID_SPEC
   3650 Only in gcc-9.4.0.orig/libatomic: .gitignore
   3651 Only in gcc-9.4.0/libatomic: .testsuite.orig
   3652 Only in gcc-9.4.0/libatomic/testsuite: .lib.orig
   3653 diff -ru gcc-9.4.0.orig/libatomic/testsuite/Makefile.am gcc-9.4.0/libatomic/testsuite/Makefile.am
   3654 --- gcc-9.4.0.orig/libatomic/testsuite/Makefile.am	2021-06-01 09:53:06.280494249 +0200
   3655 +++ gcc-9.4.0/libatomic/testsuite/Makefile.am	2023-06-13 00:16:43.400074370 +0200
   3656 @@ -11,3 +11,9 @@
   3657  _RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
   3658  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3659  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3660 +
   3661 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3662 +
   3663 +extra.exp:
   3664 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3665 +	mv $@.tmp $@
   3666 diff -ru gcc-9.4.0.orig/libatomic/testsuite/Makefile.in gcc-9.4.0/libatomic/testsuite/Makefile.in
   3667 --- gcc-9.4.0.orig/libatomic/testsuite/Makefile.in	2021-06-01 09:53:06.280494249 +0200
   3668 +++ gcc-9.4.0/libatomic/testsuite/Makefile.in	2023-06-13 00:16:43.400074370 +0200
   3669 @@ -277,6 +277,7 @@
   3670  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3671  
   3672  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3673 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3674  all: all-am
   3675  
   3676  .SUFFIXES:
   3677 @@ -484,6 +485,10 @@
   3678  .PRECIOUS: Makefile
   3679  
   3680  
   3681 +extra.exp:
   3682 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3683 +	mv $@.tmp $@
   3684 +
   3685  # Tell versions [3.59,3.63) of GNU make to not export all variables.
   3686  # Otherwise a system limit (for SysV at least) may be exceeded.
   3687  .NOEXPORT:
   3688 diff -ru gcc-9.4.0.orig/libatomic/testsuite/lib/libatomic.exp gcc-9.4.0/libatomic/testsuite/lib/libatomic.exp
   3689 --- gcc-9.4.0.orig/libatomic/testsuite/lib/libatomic.exp	2021-06-01 09:53:06.280494249 +0200
   3690 +++ gcc-9.4.0/libatomic/testsuite/lib/libatomic.exp	2023-06-13 00:16:43.401074370 +0200
   3691 @@ -77,6 +77,7 @@
   3692      global ALWAYS_CFLAGS
   3693      global CFLAGS
   3694      global TOOL_EXECUTABLE TOOL_OPTIONS
   3695 +    global BUILD_CC
   3696      global GCC_UNDER_TEST
   3697      global TESTING_IN_BUILD_TREE
   3698      global target_triplet
   3699 @@ -92,6 +93,8 @@
   3700      if ![info exists GCC_UNDER_TEST] then {
   3701  	if [info exists TOOL_EXECUTABLE] {
   3702  	    set GCC_UNDER_TEST $TOOL_EXECUTABLE
   3703 +	} elseif [info exists BUILD_CC] {
   3704 +	    set GCC_UNDER_TEST $BUILD_CC
   3705  	} else {
   3706  	    set GCC_UNDER_TEST "[find_gcc]"
   3707  	}
   3708 Only in gcc-9.4.0/libgcc: .config.orig
   3709 Only in gcc-9.4.0/libgcc/config: .m68k.orig
   3710 diff -ru gcc-9.4.0.orig/libgcc/config/m68k/linux-unwind.h gcc-9.4.0/libgcc/config/m68k/linux-unwind.h
   3711 --- gcc-9.4.0.orig/libgcc/config/m68k/linux-unwind.h	2021-06-01 09:53:06.368495345 +0200
   3712 +++ gcc-9.4.0/libgcc/config/m68k/linux-unwind.h	2023-06-13 00:16:43.422074369 +0200
   3713 @@ -37,7 +37,7 @@
   3714  	stack_t		  uc_stack;
   3715  	mcontext_t	  uc_mcontext;
   3716  	unsigned long	  uc_filler[80];
   3717 -	__sigset_t	  uc_sigmask;
   3718 +	sigset_t	  uc_sigmask;
   3719  };
   3720  
   3721  #define MD_FALLBACK_FRAME_STATE_FOR m68k_fallback_frame_state
   3722 Only in gcc-9.4.0/libgcc/config: t-gthr-noweak
   3723 diff -ru gcc-9.4.0.orig/libgcc/config.host gcc-9.4.0/libgcc/config.host
   3724 --- gcc-9.4.0.orig/libgcc/config.host	2021-06-01 09:53:06.328494847 +0200
   3725 +++ gcc-9.4.0/libgcc/config.host	2023-06-13 00:16:43.429074369 +0200
   3726 @@ -1480,3 +1480,10 @@
   3727  	tm_file="${tm_file} aarch64/value-unwind.h"
   3728  	;;
   3729  esac
   3730 +
   3731 +case ${host} in
   3732 +*-*-musl*)
   3733 +  # The gthr weak references are unsafe with static linking
   3734 +  tmake_file="$tmake_file t-gthr-noweak"
   3735 +  ;;
   3736 +esac
   3737 Only in gcc-9.4.0/libgcc: config.host.orig
   3738 Only in gcc-9.4.0/libgomp: .testsuite.orig
   3739 diff -ru gcc-9.4.0.orig/libgomp/configure.tgt gcc-9.4.0/libgomp/configure.tgt
   3740 --- gcc-9.4.0.orig/libgomp/configure.tgt	2021-06-01 09:53:06.604498283 +0200
   3741 +++ gcc-9.4.0/libgomp/configure.tgt	2023-06-13 00:16:43.429074369 +0200
   3742 @@ -17,6 +17,9 @@
   3743      *-*-k*bsd*-gnu*)
   3744  	;;
   3745  
   3746 +    *-*-musl*)
   3747 +	;;
   3748 +
   3749      *-*-linux* | *-*-gnu*)
   3750  	XCFLAGS="${XCFLAGS} -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS"
   3751  	;;
   3752 Only in gcc-9.4.0/libgomp/testsuite: .lib.orig
   3753 diff -ru gcc-9.4.0.orig/libgomp/testsuite/Makefile.am gcc-9.4.0/libgomp/testsuite/Makefile.am
   3754 --- gcc-9.4.0.orig/libgomp/testsuite/Makefile.am	2021-06-01 09:53:06.608498335 +0200
   3755 +++ gcc-9.4.0/libgomp/testsuite/Makefile.am	2023-06-13 00:16:43.401074370 +0200
   3756 @@ -12,6 +12,12 @@
   3757  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3758  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
   3759  
   3760 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3761 +
   3762 +extra.exp:
   3763 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3764 +	mv $@.tmp $@
   3765 +
   3766  # Instead of directly in ../testsuite/libgomp-test-support.exp.in, the
   3767  # following variables have to be "routed through" this Makefile, for expansion
   3768  # of the several (Makefile) variables used therein.
   3769 diff -ru gcc-9.4.0.orig/libgomp/testsuite/Makefile.in gcc-9.4.0/libgomp/testsuite/Makefile.in
   3770 --- gcc-9.4.0.orig/libgomp/testsuite/Makefile.in	2021-06-01 09:53:40.616921782 +0200
   3771 +++ gcc-9.4.0/libgomp/testsuite/Makefile.in	2023-06-13 00:16:43.401074370 +0200
   3772 @@ -303,6 +303,7 @@
   3773  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3774  
   3775  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
   3776 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3777  all: all-am
   3778  
   3779  .SUFFIXES:
   3780 @@ -464,6 +465,10 @@
   3781  .PRECIOUS: Makefile
   3782  
   3783  
   3784 +extra.exp:
   3785 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3786 +	mv $@.tmp $@
   3787 +
   3788  # Instead of directly in ../testsuite/libgomp-test-support.exp.in, the
   3789  # following variables have to be "routed through" this Makefile, for expansion
   3790  # of the several (Makefile) variables used therein.
   3791 diff -ru gcc-9.4.0.orig/libgomp/testsuite/lib/libgomp.exp gcc-9.4.0/libgomp/testsuite/lib/libgomp.exp
   3792 --- gcc-9.4.0.orig/libgomp/testsuite/lib/libgomp.exp	2021-06-01 09:53:06.608498335 +0200
   3793 +++ gcc-9.4.0/libgomp/testsuite/lib/libgomp.exp	2023-06-13 00:16:43.402074370 +0200
   3794 @@ -68,6 +68,7 @@
   3795      global ALWAYS_CFLAGS
   3796      global CFLAGS
   3797      global TOOL_EXECUTABLE TOOL_OPTIONS
   3798 +    global BUILD_CC
   3799      global GCC_UNDER_TEST
   3800      global TESTING_IN_BUILD_TREE
   3801      global target_triplet
   3802 @@ -90,6 +91,8 @@
   3803      if ![info exists GCC_UNDER_TEST] then {
   3804  	if [info exists TOOL_EXECUTABLE] {
   3805  	    set GCC_UNDER_TEST $TOOL_EXECUTABLE
   3806 +	} elseif [info exists BUILD_CC] {
   3807 +	    set GCC_UNDER_TEST $BUILD_CC
   3808  	} else {
   3809  	    set GCC_UNDER_TEST "[find_gcc]"
   3810  	}
   3811 Only in gcc-9.4.0/libitm: .testsuite.orig
   3812 diff -ru gcc-9.4.0.orig/libitm/configure.tgt gcc-9.4.0/libitm/configure.tgt
   3813 --- gcc-9.4.0.orig/libitm/configure.tgt	2021-06-01 09:53:06.648498833 +0200
   3814 +++ gcc-9.4.0/libitm/configure.tgt	2023-06-13 00:16:43.429074369 +0200
   3815 @@ -31,6 +31,9 @@
   3816  if test "$gcc_cv_have_tls" = yes ; then
   3817    case "${target}" in
   3818  
   3819 +    *-*-musl*)
   3820 +	;;
   3821 +
   3822      # For x86, we use slots in the TCB head for most of our TLS.
   3823      # The setup of those slots in beginTransaction can afford to
   3824      # use the global-dynamic model.
   3825 Only in gcc-9.4.0/libitm/testsuite: .lib.orig
   3826 diff -ru gcc-9.4.0.orig/libitm/testsuite/Makefile.am gcc-9.4.0/libitm/testsuite/Makefile.am
   3827 --- gcc-9.4.0.orig/libitm/testsuite/Makefile.am	2021-06-01 09:53:06.648498833 +0200
   3828 +++ gcc-9.4.0/libitm/testsuite/Makefile.am	2023-06-13 00:16:43.402074370 +0200
   3829 @@ -11,3 +11,9 @@
   3830  _RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
   3831  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3832  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3833 +
   3834 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3835 +
   3836 +extra.exp:
   3837 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3838 +	mv $@.tmp $@
   3839 diff -ru gcc-9.4.0.orig/libitm/testsuite/Makefile.in gcc-9.4.0/libitm/testsuite/Makefile.in
   3840 --- gcc-9.4.0.orig/libitm/testsuite/Makefile.in	2021-06-01 09:53:40.624921881 +0200
   3841 +++ gcc-9.4.0/libitm/testsuite/Makefile.in	2023-06-13 00:16:43.402074370 +0200
   3842 @@ -285,6 +285,7 @@
   3843  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3844  
   3845  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3846 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3847  all: all-am
   3848  
   3849  .SUFFIXES:
   3850 @@ -492,6 +493,10 @@
   3851  .PRECIOUS: Makefile
   3852  
   3853  
   3854 +extra.exp:
   3855 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3856 +	mv $@.tmp $@
   3857 +
   3858  # Tell versions [3.59,3.63) of GNU make to not export all variables.
   3859  # Otherwise a system limit (for SysV at least) may be exceeded.
   3860  .NOEXPORT:
   3861 diff -ru gcc-9.4.0.orig/libitm/testsuite/lib/libitm.exp gcc-9.4.0/libitm/testsuite/lib/libitm.exp
   3862 --- gcc-9.4.0.orig/libitm/testsuite/lib/libitm.exp	2021-06-01 09:53:06.648498833 +0200
   3863 +++ gcc-9.4.0/libitm/testsuite/lib/libitm.exp	2023-06-13 00:16:43.402074370 +0200
   3864 @@ -77,6 +77,7 @@
   3865      global ALWAYS_CFLAGS
   3866      global CFLAGS
   3867      global TOOL_EXECUTABLE TOOL_OPTIONS
   3868 +    global BUILD_CC
   3869      global GCC_UNDER_TEST
   3870      global TESTING_IN_BUILD_TREE
   3871      global target_triplet
   3872 @@ -92,6 +93,8 @@
   3873      if ![info exists GCC_UNDER_TEST] then {
   3874  	if [info exists TOOL_EXECUTABLE] {
   3875  	    set GCC_UNDER_TEST $TOOL_EXECUTABLE
   3876 +	} elseif [info exists BUILD_CC] {
   3877 +	    set GCC_UNDER_TEST $BUILD_CC
   3878  	} else {
   3879  	    set GCC_UNDER_TEST "[find_gcc]"
   3880  	}
   3881 Only in gcc-9.4.0/libstdc++-v3: .src.orig
   3882 Only in gcc-9.4.0/libstdc++-v3/src: .c++11.orig
   3883 diff -ru gcc-9.4.0.orig/libstdc++-v3/src/c++11/futex.cc gcc-9.4.0/libstdc++-v3/src/c++11/futex.cc
   3884 --- gcc-9.4.0.orig/libstdc++-v3/src/c++11/futex.cc	2021-06-01 09:53:06.880501720 +0200
   3885 +++ gcc-9.4.0/libstdc++-v3/src/c++11/futex.cc	2023-06-13 00:16:43.432074369 +0200
   3886 @@ -61,7 +61,15 @@
   3887  	struct timeval tv;
   3888  	gettimeofday (&tv, NULL);
   3889  	// Convert the absolute timeout value to a relative timeout
   3890 +#if defined(SYS_futex_time64) && SYS_futex_time64 != SYS_futex
   3891 +	struct
   3892 +	  {
   3893 +	    long tv_sec;
   3894 +	    long tv_nsec;
   3895 +	  } rt;
   3896 +#else
   3897  	struct timespec rt;
   3898 +#endif
   3899  	rt.tv_sec = __s.count() - tv.tv_sec;
   3900  	rt.tv_nsec = __ns.count() - tv.tv_usec * 1000;
   3901  	if (rt.tv_nsec < 0)
   3902 Only in gcc-9.4.0/libvtv: .testsuite.orig
   3903 Only in gcc-9.4.0/libvtv/testsuite: .lib.orig
   3904 diff -ru gcc-9.4.0.orig/libvtv/testsuite/Makefile.am gcc-9.4.0/libvtv/testsuite/Makefile.am
   3905 --- gcc-9.4.0.orig/libvtv/testsuite/Makefile.am	2021-06-01 09:53:07.048503814 +0200
   3906 +++ gcc-9.4.0/libvtv/testsuite/Makefile.am	2023-06-13 00:16:43.402074370 +0200
   3907 @@ -11,3 +11,9 @@
   3908  _RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
   3909  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3910  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3911 +
   3912 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3913 +
   3914 +extra.exp:
   3915 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3916 +	mv $@.tmp $@
   3917 diff -ru gcc-9.4.0.orig/libvtv/testsuite/Makefile.in gcc-9.4.0/libvtv/testsuite/Makefile.in
   3918 --- gcc-9.4.0.orig/libvtv/testsuite/Makefile.in	2021-06-01 09:53:07.048503814 +0200
   3919 +++ gcc-9.4.0/libvtv/testsuite/Makefile.in	2023-06-13 00:16:43.403074370 +0200
   3920 @@ -280,6 +280,7 @@
   3921  	     echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
   3922  
   3923  RUNTEST = $(_RUNTEST) $(AM_RUNTESTFLAGS)
   3924 +EXTRA_DEJAGNU_SITE_CONFIG = extra.exp
   3925  all: all-am
   3926  
   3927  .SUFFIXES:
   3928 @@ -487,6 +488,10 @@
   3929  .PRECIOUS: Makefile
   3930  
   3931  
   3932 +extra.exp:
   3933 +	echo 'set BUILD_CC "$(CC)"' > $@.tmp
   3934 +	mv $@.tmp $@
   3935 +
   3936  # Tell versions [3.59,3.63) of GNU make to not export all variables.
   3937  # Otherwise a system limit (for SysV at least) may be exceeded.
   3938  .NOEXPORT:
   3939 diff -ru gcc-9.4.0.orig/libvtv/testsuite/lib/libvtv.exp gcc-9.4.0/libvtv/testsuite/lib/libvtv.exp
   3940 --- gcc-9.4.0.orig/libvtv/testsuite/lib/libvtv.exp	2021-06-01 09:53:07.048503814 +0200
   3941 +++ gcc-9.4.0/libvtv/testsuite/lib/libvtv.exp	2023-06-13 00:16:43.403074370 +0200
   3942 @@ -76,6 +76,7 @@
   3943      global ALWAYS_CFLAGS
   3944      global CFLAGS
   3945      global TOOL_EXECUTABLE TOOL_OPTIONS
   3946 +    global BUILD_CC
   3947      global GCC_UNDER_TEST
   3948      global TESTING_IN_BUILD_TREE
   3949      global target_triplet
   3950 @@ -91,6 +92,8 @@
   3951      if ![info exists GCC_UNDER_TEST] then {
   3952  	if [info exists TOOL_EXECUTABLE] {
   3953  	    set GCC_UNDER_TEST $TOOL_EXECUTABLE
   3954 +	} elseif [info exists BUILD_CC] {
   3955 +	    set GCC_UNDER_TEST $BUILD_CC
   3956  	} else {
   3957  	    set GCC_UNDER_TEST "[find_gcc]"
   3958  	}