diff options
Diffstat (limited to '')
-rw-r--r-- | data/abitable | 14 | ||||
-rw-r--r-- | data/cputable | 57 | ||||
-rw-r--r-- | data/no-pie-compile.specs | 2 | ||||
-rw-r--r-- | data/no-pie-link.specs | 2 | ||||
-rw-r--r-- | data/ostable | 45 | ||||
-rw-r--r-- | data/pie-compile.specs | 2 | ||||
-rw-r--r-- | data/pie-link.specs | 2 | ||||
-rw-r--r-- | data/tupletable | 55 |
8 files changed, 179 insertions, 0 deletions
diff --git a/data/abitable b/data/abitable new file mode 100644 index 0000000..b9b1dc4 --- /dev/null +++ b/data/abitable @@ -0,0 +1,14 @@ +# Version=2.0 +# +# This file contains the table of arch ABI attribute overrides. +# +# If the ABI is not present here then the attribute information for a +# Debian arch tuple matches the one on the cputable. +# +# - Column 1 is the Debian name for the ABI. +# - Column 2 is the size (in bits) of the ABI pointers. +# +# <Debian name> <Bits> +abin32 32 +ilp32 32 +x32 32 diff --git a/data/cputable b/data/cputable new file mode 100644 index 0000000..7b1ee2c --- /dev/null +++ b/data/cputable @@ -0,0 +1,57 @@ +# Version=1.0 +# +# This file contains the table of known CPU names. +# +# Architecture names are formed as a combination of the system name +# (from ostable) and CPU name (from this table) after mapping from +# the Debian arch tuple (from tupletable). +# +# - Column 1 is the Debian name for the CPU, used to form the cpu part in +# the Debian arch tuple. +# - Column 2 is the GNU name for the CPU, used to output build, host and +# target variables in ‘dpkg-architecture’. +# - Column 3 is an extended regular expression used to fully match against +# the CPU part of the output of the GNU config.guess script. The order of +# this column is important when using wildcards as it is used in a first +# match basis. +# - Column 4 is the size (in bits) of pointers. +# - Column 5 is the endianness (byte ordering in numbers). +# +# <Debian name> <GNU name> <config.guess regex> <Bits> <Endianness> +alpha alpha alpha.* 64 little +amd64 x86_64 (amd64|x86_64) 64 little +arc arc arc 32 little +armeb armeb arm.*b 32 big +arm arm arm.* 32 little +arm64 aarch64 aarch64 64 little +avr32 avr32 avr32 32 big +hppa hppa hppa.* 32 big +loong64 loongarch64 loongarch64 64 little +i386 i686 (i[34567]86|pentium) 32 little +ia64 ia64 ia64 64 little +m32r m32r m32r 32 big +m68k m68k m68k 32 big +mips mips mips(eb)? 32 big +mipsel mipsel mipsel 32 little +mipsr6 mipsisa32r6 mipsisa32r6 32 big +mipsr6el mipsisa32r6el mipsisa32r6el 32 little +mips64 mips64 mips64 64 big +mips64el mips64el mips64el 64 little +mips64r6 mipsisa64r6 mipsisa64r6 64 big +mips64r6el mipsisa64r6el mipsisa64r6el 64 little +nios2 nios2 nios2 32 little +or1k or1k or1k 32 big +powerpc powerpc (powerpc|ppc) 32 big +powerpcel powerpcle powerpcle 32 little +ppc64 powerpc64 (powerpc|ppc)64 64 big +ppc64el powerpc64le powerpc64le 64 little +riscv64 riscv64 riscv64 64 little +s390 s390 s390 32 big +s390x s390x s390x 64 big +sh3 sh3 sh3 32 little +sh3eb sh3eb sh3eb 32 big +sh4 sh4 sh4 32 little +sh4eb sh4eb sh4eb 32 big +sparc sparc sparc 32 big +sparc64 sparc64 sparc64 64 big +tilegx tilegx tilegx 64 little diff --git a/data/no-pie-compile.specs b/data/no-pie-compile.specs new file mode 100644 index 0000000..2277b97 --- /dev/null +++ b/data/no-pie-compile.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fno-PIE}}}}}} diff --git a/data/no-pie-link.specs b/data/no-pie-link.specs new file mode 100644 index 0000000..54db649 --- /dev/null +++ b/data/no-pie-link.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{!shared:%{!r:%{!fPIE:%{!pie:-fno-PIE -no-pie}}}} diff --git a/data/ostable b/data/ostable new file mode 100644 index 0000000..7fd2bff --- /dev/null +++ b/data/ostable @@ -0,0 +1,45 @@ +# Version=2.0 +# +# This file contains the table of known operating system names. +# +# Architecture names are formed as a combination of the system name +# (from this table) and CPU name (from cputable) after mapping from +# the Debian arch tuple (from tupletable). +# +# - Column 1 is the Debian name for the system, used to form the system part +# in the Debian arch tuple. +# - Column 2 is the GNU name for the system, used to output build, host and +# target variables in ‘dpkg-architecture’. +# - Column 3 is an extended regular expression used to fully match against +# the system part of the output of the GNU config.guess script. The order +# of this column is important when using wildcards as it is used in a first +# match basis. +# +# <Debian name> <GNU name> <config.guess regex> +eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibceabi +base-uclibc-linux linux-uclibc linux[^-]*-uclibc +eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf +base-musl-linux linux-musl linux[^-]*-musl +eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf +eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi +abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32 +abi64-gnu-linux linux-gnuabi64 linux[^-]*-gnuabi64 +spe-gnu-linux linux-gnuspe linux[^-]*-gnuspe +x32-gnu-linux linux-gnux32 linux[^-]*-gnux32 +ilp32-gnu-linux linux-gnu_ilp32 linux[^-]*-gnu_ilp32 +base-gnu-linux linux-gnu linux[^-]*(-gnu.*)? +eabihf-gnu-kfreebsd kfreebsd-gnueabihf kfreebsd[^-]*-gnueabihf +base-gnu-kfreebsd kfreebsd-gnu kfreebsd[^-]*(-gnu.*)? +base-gnu-knetbsd knetbsd-gnu knetbsd[^-]*(-gnu.*)? +base-gnu-kopensolaris kopensolaris-gnu kopensolaris[^-]*(-gnu.*)? +base-gnu-hurd gnu gnu[^-]* +base-bsd-darwin darwin darwin[^-]* +base-bsd-dragonflybsd dragonflybsd dragonfly[^-]* +base-bsd-freebsd freebsd freebsd[^-]* +base-bsd-netbsd netbsd netbsd[^-]* +base-bsd-openbsd openbsd openbsd[^-]* +base-sysv-aix aix aix[^-]* +base-sysv-solaris solaris solaris[^-]* +eabi-uclibc-uclinux uclinux-uclibceabi uclinux[^-]*-uclibceabi +base-uclibc-uclinux uclinux-uclibc uclinux[^-]*(-uclibc.*)? +base-tos-mint mint mint[^-]* diff --git a/data/pie-compile.specs b/data/pie-compile.specs new file mode 100644 index 0000000..74d8215 --- /dev/null +++ b/data/pie-compile.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:%{!fno-PIE:%{!no-pie:-fPIE}}}}}}}} diff --git a/data/pie-link.specs b/data/pie-link.specs new file mode 100644 index 0000000..94c122f --- /dev/null +++ b/data/pie-link.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{!static:%{!shared:%{!r:%{!fno-PIE:%{!no-pie:-fPIE -pie}}}}} diff --git a/data/tupletable b/data/tupletable new file mode 100644 index 0000000..a7a878f --- /dev/null +++ b/data/tupletable @@ -0,0 +1,55 @@ +# Version=1.0 +# +# Bidirectional mapping between a Debian arch tuple and a Debian arch name. +# +# Debian arch tuple names are formed as a combination of the Debian system +# name (from the ostable) and the Debian CPU name (from the cputable) after +# applying the variable substitutions. Debian arch names are the result of +# historical naming conventions in Debian, where the predominant system +# architectures have many of their parts in implicit form, by only exposing +# the CPU with the ABI bolted on, where less common architectures have their +# OS part spelled out, and where even less common ones, have their libc +# spelled out. This table maps between the ideal architecture tuple, with +# the current messy reality. +# +# - Column 1 is the Debian arch tuple name, as the normalized form of the +# architecture names, used as the internal representation. +# - Column 2 is the Debian arch name, as the abbreviated form of the +# architecture names, used as the public interface. +# +# Supported variables: <cpu> +# +# <Debian arch tuple> <Debian arch name> +eabi-uclibc-linux-arm uclibc-linux-armel +base-uclibc-linux-<cpu> uclibc-linux-<cpu> +eabihf-musl-linux-arm musl-linux-armhf +base-musl-linux-<cpu> musl-linux-<cpu> +ilp32-gnu-linux-arm64 arm64ilp32 +eabihf-gnu-linux-arm armhf +eabi-gnu-linux-arm armel +abin32-gnu-linux-mips64r6el mipsn32r6el +abin32-gnu-linux-mips64r6 mipsn32r6 +abin32-gnu-linux-mips64el mipsn32el +abin32-gnu-linux-mips64 mipsn32 +abi64-gnu-linux-mips64r6el mips64r6el +abi64-gnu-linux-mips64r6 mips64r6 +abi64-gnu-linux-mips64el mips64el +abi64-gnu-linux-mips64 mips64 +spe-gnu-linux-powerpc powerpcspe +x32-gnu-linux-amd64 x32 +base-gnu-linux-<cpu> <cpu> +eabihf-gnu-kfreebsd-arm kfreebsd-armhf +base-gnu-kfreebsd-<cpu> kfreebsd-<cpu> +base-gnu-knetbsd-<cpu> knetbsd-<cpu> +base-gnu-kopensolaris-<cpu> kopensolaris-<cpu> +base-gnu-hurd-<cpu> hurd-<cpu> +base-bsd-dragonflybsd-<cpu> dragonflybsd-<cpu> +base-bsd-freebsd-<cpu> freebsd-<cpu> +base-bsd-openbsd-<cpu> openbsd-<cpu> +base-bsd-netbsd-<cpu> netbsd-<cpu> +base-bsd-darwin-<cpu> darwin-<cpu> +base-sysv-aix-<cpu> aix-<cpu> +base-sysv-solaris-<cpu> solaris-<cpu> +eabi-uclibc-uclinux-arm uclinux-armel +base-uclibc-uclinux-<cpu> uclinux-<cpu> +base-tos-mint-m68k mint-m68k |