[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: config.sub patch: recognize four-part configuration name for VxWorks
From: |
Xin, Peixing |
Subject: |
RE: config.sub patch: recognize four-part configuration name for VxWorks OS |
Date: |
Tue, 19 Jan 2021 11:58:22 +0000 |
Hi,
Anyone can help to merge the attached patch? In case the attachment is
converted to .bin file, also paste the contents below.
>From 56c90bf43e1b8d1e4feb965790271d30d04ad72a Mon Sep 17 00:00:00 2001
From: Peixing Xin <peixing.xin@windriver.com>
Date: Fri, 8 Jan 2021 10:53:07 +0800
Subject: [PATCH] Recognize four-part configuration name for VxWorks.
For example:
armv7m-wrs-vxworks-eabihf
armv7-wrs-vxworks-eabihf
i686-wrs-vxworks-simlinux
i686-wrs-vxworks-simwindows
powerpc-wrs-vxworks-spe
x86_64-wrs-vxworks-simlinux
x86_64-wrs-vxworks-simwindows
It's my check results (on Ubuntu 18.04):
$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (131 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (846 tests)
PASS: config.sub idempotency checks (783 tests)
PASS: config.sub canonicalise each config.guess testcase (131 tests)
* config.sub: Recognize four-part configuration name for VxWorks.
* testsuite/config-sub.data: Add test cases.
Co-authored-by: John Ericson <git@JohnEricson.me>
---
config.sub | 11 ++++++++---
testsuite/config-sub.data | 14 ++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/config.sub b/config.sub
index b0f8492..f7bbcbd 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2021 Free Software Foundation, Inc.
-timestamp='2021-01-07'
+timestamp='2021-01-19'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -1683,12 +1683,15 @@ fi
# Now, validate our (potentially fixed-up) OS.
case $os in
- # Sometimes we do "kernel-abi", so those need to count as OSes.
+ # Sometimes we do "kernel-libc", so those need to count as OSes.
musl* | newlib* | uclibc*)
;;
- # Likewise for "kernel-libc"
+ # Likewise for "kernel-abi"
eabi* | gnueabi*)
;;
+ # VxWorks passes extra cpu info in the 4th filed.
+ simlinux | simwindows | spe)
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@@ -1751,6 +1754,8 @@ case $kernel-$os in
;;
kfreebsd*-gnu* | kopensolaris*-gnu*)
;;
+ vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+ ;;
nto-qnx*)
;;
os2-emx)
diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data
index 60cf4fd..1f72e4e 100644
--- a/testsuite/config-sub.data
+++ b/testsuite/config-sub.data
@@ -18,6 +18,7 @@ aarch64-genode
aarch64-unknown-genode
aarch64-linux aarch64-unknown-linux-gnu
aarch64-unknown-elf aarch64-unknown-elf
aarch64-unknown-linux aarch64-unknown-linux-gnu
+aarch64-wrs-vxworks aarch64-wrs-vxworks
aarch64_be aarch64_be-unknown-none
aarch64_be-bme aarch64_be-unknown-bme
aarch64_be-elf aarch64_be-unknown-elf
@@ -97,6 +98,7 @@ armv7-apple-ios
armv7-apple-ios
armv7-unknown-netbsdelf7.0 armv7-unknown-netbsdelf7.0
armv7-unknown-netbsdelf7.0-eabi
armv7-unknown-netbsdelf7.0-eabi
armv7-unknown-netbsdelf7.0-eabihf
armv7-unknown-netbsdelf7.0-eabihf
+armv7-wrs-vxworks-eabihf armv7-wrs-vxworks-eabihf
armv7a armv7a-unknown-none
armv7a-linux-gnueabi armv7a-unknown-linux-gnueabi
armv7eb-unknown-netbsdelf7.0 armv7eb-unknown-netbsdelf7.0
@@ -104,6 +106,7 @@ armv7eb-unknown-netbsdelf7.0-eabi
armv7eb-unknown-netbsdelf7.0-eabi
armv7eb-unknown-netbsdelf7.0-eabihf
armv7eb-unknown-netbsdelf7.0-eabihf
armv7m armv7m-unknown-none
armv7m-unknown-none-eabi armv7m-unknown-none-eabi
+armv7m-wrs-vxworks-eabihf
armv7m-wrs-vxworks-eabihf
armv7r armv7r-unknown-none
armv8a armv8a-unknown-none
armv8b-linux-gnueabi armv8b-unknown-linux-gnueabi
@@ -290,6 +293,9 @@ i686-ericsson-dicos
i686-ericsson-dicos
i686-haiku i686-pc-haiku
i686-kopensolaris5.11-gnu i686-pc-kopensolaris5.11-gnu
i686-os2-emx i686-pc-os2-emx
+i686-wrs-vxworks i686-wrs-vxworks
+i686-wrs-vxworks-simlinux i686-wrs-vxworks-simlinux
+i686-wrs-vxworks-simwindows i686-wrs-vxworks-simwindows
i786-elf i786-pc-elf
i860 i860-unknown-sysv
i960 i960-unknown-none
@@ -548,8 +554,11 @@ powerpc-elf-lynxos5
powerpc-elf-lynxos5
powerpc-haiku powerpc-unknown-haiku
powerpc-pikeos powerpc-unknown-elf
powerpc-sysgo-pikeos powerpc-sysgo-elf
+powerpc-wrs-vxworks powerpc-wrs-vxworks
+powerpc-wrs-vxworks-spe powerpc-wrs-vxworks-spe
powerpc-xcoff-lynxos178 powerpc-xcoff-lynxos178
powerpc64 powerpc64-unknown-none
+powerpc64-wrs-vxworks powerpc64-wrs-vxworks
powerpc64le powerpc64le-unknown-none
powerpcle powerpcle-unknown-none
powerpcspe powerpcspe-unknown-none
@@ -590,11 +599,13 @@ riscv64-company-elf
riscv64-company-elf
riscv64-elf riscv64-unknown-elf
riscv64-hcos riscv64-unknown-hcos
riscv64-linux riscv64-unknown-linux-gnu
+riscv32-wrs-vxworks riscv32-wrs-vxworks
riscv32be riscv32be-unknown-none
riscv32be-company-elf riscv32be-company-elf
riscv32be-company-hcos riscv32be-company-hcos
riscv32be-elf riscv32be-unknown-elf
riscv32be-linux
riscv32be-unknown-linux-gnu
+riscv64-wrs-vxworks riscv64-wrs-vxworks
riscv64be riscv64be-unknown-none
riscv64be-company-elf riscv64be-company-elf
riscv64be-elf riscv64be-unknown-elf
@@ -809,6 +820,9 @@ x86_64-sortix
x86_64-pc-sortix
x86_64-twizzler x86_64-pc-twizzler
x86_64-unknown-ptx x86_64-sequent-ptx
x86_64-windows x86_64-pc-windows
+x86_64-wrs-vxworks x86_64-wrs-vxworks
+x86_64-wrs-vxworks-simlinux x86_64-wrs-vxworks-simlinux
+x86_64-wrs-vxworks-simwindows x86_64-wrs-vxworks-simwindows
xbox i686-pc-mingw32
xc16x xc16x-unknown-none
xc16x-elf xc16x-unknown-elf
--
2.17.1
Thanks,
Peixing
-------------------------------------------------------------------------------------------
From: Xin, Peixing
Sent: Friday, January 8, 2021 11:21 AM
To: John Ericson <john.ericson@obsidian.systems>; config-patches@gnu.org
Subject: RE: config.sub patch: recognize four-part configuration name for
VxWorks OS
Hi John,
Thanks much for your solution and info. I made some slight changes so that
things can be correct and more clear. If this one can be merged, appreciated.
Thanks,
Peixing
From: John Ericson <mailto:john.ericson@obsidian.systems>
Sent: Thursday, January 7, 2021 11:36 PM
To: Xin, Peixing <Pmailto:eixing.Xin@windriver.com>;
mailto:config-patches@gnu.org
Subject: Re: config.sub patch: recognize four-part configuration name for
VxWorks OS
OK here is the my alternative that passes the same tests.
In case any is interested, let me talk about underlying issue that makes this
so non-intuitive (more than I initially expected!) is that there is a tension
between gnu config thinking
$kernel-$os
and other tools thinking
$os-$extra_info
(Even though the $kernel $os env vars are new from me in ~ last 2 years,
config.sub was informally parsing that way for decades.)
This tension basically arose I think when someone reinterpreted linux-gnu not
as GNU/linux, but Linux (an OS) + glibc ABI.
The result is config.sub to cope is calling things like `eabihf` or `musl`
valid OSs to be filtered later, which is awkward and unintuitive.
Hopefully this can be untangled someday. (I would love to sit down with a bunch
of interested parties and come up with e.g. a new JSON convention or something.)
John
On 1/7/21 10:13 AM, John Ericson wrote:
I don't this this patch is right. You are adding another "ad hoc" case, but we
should strive not to do that. I will submit an alternative in a moment.
On 1/7/21 12:16 AM, Xin, Peixing wrote:
Hi ,
This patch is to recognize four-part configuration name for VxWorks. For
example:
armv7m-wrs-vxworks-eabihf
armv7-wrs-vxworks-eabihf
i686-wrs-vxworks-simlinux
i686-wrs-vxworks-simwindows
powerpc-wrs-vxworks-spe
x86_64-wrs-vxworks-simlinux
x86_64-wrs-vxworks-simwindows
It's my check result on Ubuntu 18.04:
$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (131 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (846 tests)
PASS: config.sub idempotency checks (783 tests)
PASS: config.sub canonicalise each config.guess testcase (131 tests)
* config.sub: Recognize four-part configuration name for VxWorks.
* testsuite/config-sub.data: Add test cases.
Thanks,
Peixing
0001-Recognize-four-part-configuration-name-for-VxWorks.patch
Description: 0001-Recognize-four-part-configuration-name-for-VxWorks.patch