On 5/19/21 4:49 PM, Joseph Myers wrote:
On Wed, 19 May 2021, Martin Liška wrote:

I'm not sure where this list comes from

I split parts in contrib/config-list.mk and printed them.

but I'd expect "linux" to be the
canonical "linux-gnu", along with "linux-uclibc", "linux-android",
"linux-musl" ("uclibc" etc. aren't system names on their own) and variants
with "eabi" or "eabihf" on the end (see what config.guess produces for
Arm).

One needs an Arm machine for that. Do you know about a better way how to get
list of all systems?

Looking at the config.sub / config.guess testsuites (in config.git) will
provide lists of many systems (not all supported by GCC) (and the code of
config.guess may also help show what the Arm variants are).  Looking at
config.gcc to see what it matches against may also be helpful (but then
use config.sub to get the canonical form of a target triplet).

All right, I've taken all targets mentioned in contrib/config-list.mk and
called config.sub for them.

Then I've taken first parts[0] as a CPU name and '-'.join(parts[2:]) as system 
name.
That gets me:

CPUs:
aarch64, alpha, alpha64, amdgcn, arc, arceb, arm, avr, bfin, bpf, cr16, cris, 
csky, epiphany, fido, fr30, frv, ft32, h8300, hppa, hppa2.0, hppa64, i486, 
i686, ia64, iq2000, lm32, m32c, m32r, m32rle, m68k, mcore, microblaze, mips, 
mips64, mips64el, mips64octeon, mips64orion, mips64vr, mipsel, mipsisa32, 
mipsisa32r2, mipsisa64, mipsisa64r2, mipsisa64r2el, mipsisa64sb1, 
mipsisa64sr71k, mipstx39, mmix, mn10300, moxie, msp430, nds32be, nds32le, 
nios2, nvptx, or1k, pdp11, powerpc, powerpc64, powerpcle, pru, riscv32, 
riscv64, rl78, rx, s390, s390x, sh, shle, sparc, sparc64, tic6x, tilegx, 
tilegxbe, tilepro, v850, v850e, v850e1, vax, visium, x86_64, xstormy16, xtensa


SYSTEMSs:
aix7.1, aix7.2, amdhsa, aout, cygwin, darwin, darwin10, darwin7, darwin8, 
darwin9, eabi, eabialtivec, eabisim, eabisimaltivec, elf, elf32, elfbare, 
elfoabi, freebsd4, freebsd6, gnu, hpux, hpux10.1, hpux11.0, hpux11.3, hpux11.9, 
kfreebsd-gnu, kopensolaris-gnu, linux-androideabi, linux-gnu, 
linux-gnu_altivec, linux-musl, linux-uclibc, lynxos, mingw32, mingw32crt, 
mmixware, msdosdjgpp, netbsd, netbsdelf, netbsdelf9, nto-qnx, openbsd, rtems, 
solaris2.11, symbianelf, tpf, uclinux, uclinux_eabi, vms, vxworks, vxworksae, 
vxworksmils


Is it a reasonable list?
Thanks,
Martin



Reply via email to