All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>,
	James Hilliard <james.hilliard1@gmail.com>,
	Romain Naour <romain.naour@gmail.com>,
	Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>,
	Buildroot List <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH 4/5] arch: drop support for SH2A
Date: Sun, 24 Apr 2022 10:54:54 +0200	[thread overview]
Message-ID: <20220424085454.GS2730@scaer> (raw)
In-Reply-To: <20220419213450.887728-4-thomas.petazzoni@bootlin.com>

Thomas, All,

On 2022-04-19 23:34 +0200, Thomas Petazzoni via buildroot spake thusly:
> Until commit "arch/Config.in.sh: fixup MMU selection" in this series,
> SH2A could either be used with BR2_USE_MMU disabled or BR2_USE_MMU
> enabled.
> 
> The later made absolutely no sense, since SH2A does not have a MMU:
> MMU support was introduced starting from SH3 according to
> https://en.wikipedia.org/wiki/SuperH#SH-3
> 
> Also, since commit 22d5501e03b019218b718b5de7ca74824a8eaf42 ("arch:
> tidy up binary formats config"), which was merged in Buildroot
> 2015.05, the architecture tuple used when BR2_sh2a=y and BR2_USE_MMU
> disabled is sh2a-buildroot-uclinux-uclibc, and this was already
> unsupported back in the days of Buildroot 2015.08 and binutils 2.24,
> causing the build to fail with:
> 
> *** BFD does not support target sh2a-buildroot-uclinux-uclibc.
> 
> just like it fails to build today with recent version of binutils.
> 
> So, this has been broken since 2015.08, and nobody complained. SH2A is
> seldomly used, so it's time to kill.

seldomly is archaic [0]; seldom is an adverb [1]. ;-)
[0] https://www.merriam-webster.com/dictionary/seldomly
[1] https://www.merriam-webster.com/dictionary/seldom

Applied to master, thanks.

Regards,
Yann E. MORIN.

> It is worth mentioning that there has been an attempt at resurrecting
> SH2 support around 2015 (see https://lwn.net/Articles/647636/) as part
> of the J2 core. This effort led to the addition of FDPIC support for
> SH2A in the musl C library (and therefore proper ELF binaries, with
> shared libraries), but that was never supported in Buildroot. Now that
> the J2 project is essentially dead, there is no reason to bother with
> this.
> 
> Fixes:
> 
>   http://autobuild.buildroot.net/results/63d01d33ae30f86b63b9f42a9fea116f2f3e9005/
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  Config.in.legacy                        | 7 +++++++
>  arch/Config.in.sh                       | 5 +----
>  package/uclibc/Config.in                | 1 -
>  toolchain/toolchain-buildroot/Config.in | 2 +-
>  utils/genrandconfig                     | 9 +++------
>  5 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 27f19f14e7..1578ffd016 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -146,6 +146,13 @@ endif
>  
>  comment "Legacy options removed in 2022.05"
>  
> +config BR2_sh2a
> +	bool "sh2a architecture support removed"
> +	select BR2_LEGACY
> +	help
> +	  The SuperH 2A (SH2A) architecture was not maintained, and
> +	  broken, so its support was dropped.
> +
>  config BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
>  	bool "boost versioned layout removed"
>  	select BR2_LEGACY
> diff --git a/arch/Config.in.sh b/arch/Config.in.sh
> index a012cbf491..f00954bb5e 100644
> --- a/arch/Config.in.sh
> +++ b/arch/Config.in.sh
> @@ -5,8 +5,6 @@ choice
>  	help
>  	  Specific CPU variant to use
>  
> -config BR2_sh2a
> -	bool "sh2a (SH2A big endian)"
>  config BR2_sh4
>  	bool "sh4 (SH4 little endian)"
>  	select BR2_ARCH_HAS_MMU_MANDATORY
> @@ -22,7 +20,6 @@ config BR2_sh4aeb
>  endchoice
>  
>  config BR2_ARCH
> -	default "sh2a"		if BR2_sh2a
>  	default "sh4"		if BR2_sh4
>  	default "sh4eb"		if BR2_sh4eb
>  	default "sh4a"		if BR2_sh4a
> @@ -33,7 +30,7 @@ config BR2_NORMALIZED_ARCH
>  
>  config BR2_ENDIAN
>  	default "LITTLE"	if BR2_sh4 || BR2_sh4a
> -	default "BIG"		if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb
> +	default "BIG"		if BR2_sh4eb || BR2_sh4aeb
>  
>  config BR2_READELF_ARCH_NAME
>  	default "Renesas / SuperH SH"
> diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
> index 2091166b62..310414bebc 100644
> --- a/package/uclibc/Config.in
> +++ b/package/uclibc/Config.in
> @@ -124,7 +124,6 @@ config BR2_UCLIBC_MIPS_NAN
>  
>  config BR2_UCLIBC_SH_TYPE
>  	string
> -	default "SH2A" if BR2_sh2a
>  	default "SH4"  if BR2_sh4 || BR2_sh4eb
>  	depends on BR2_UCLIBC_TARGET_ARCH = "sh"
>  
> diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
> index 4004c0edf8..be89f68ab5 100644
> --- a/toolchain/toolchain-buildroot/Config.in
> +++ b/toolchain/toolchain-buildroot/Config.in
> @@ -31,7 +31,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
>  		   BR2_arm     || BR2_armeb    || \
>  		   BR2_i386    || BR2_m68k   || BR2_microblaze || \
>  		   BR2_mips    || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
> -		   BR2_or1k    || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a   || \
> +		   BR2_or1k    || BR2_powerpc || BR2_RISCV_64 || \
>  		   BR2_sh4     || BR2_sh4eb   || BR2_sparc || BR2_xtensa || \
>  		   BR2_x86_64
>  	select BR2_TOOLCHAIN_USES_UCLIBC
> diff --git a/utils/genrandconfig b/utils/genrandconfig
> index 59fe34e58d..adefb8f502 100755
> --- a/utils/genrandconfig
> +++ b/utils/genrandconfig
> @@ -237,12 +237,9 @@ def fixup_config(sysinfo, configfile):
>      if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \
>         BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines:
>          return False
> -    # libffi not available on sh2a and ARMv7-M, but propagating libffi
> -    # arch dependencies in Buildroot is really too much work, so we
> -    # handle this here.
> -    if 'BR2_sh2a=y\n' in configlines and \
> -       'BR2_PACKAGE_LIBFFI=y\n' in configlines:
> -        return False
> +    # libffi not available on ARMv7-M, but propagating libffi arch
> +    # dependencies in Buildroot is really too much work, so we handle
> +    # this here.
>      if 'BR2_ARM_CPU_ARMV7M=y\n' in configlines and \
>         'BR2_PACKAGE_LIBFFI=y\n' in configlines:
>          return False
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-04-24  8:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-19 21:34 [Buildroot] [PATCH 1/5] arch/Config.in.sh: fixup MMU selection Thomas Petazzoni via buildroot
2022-04-19 21:34 ` [Buildroot] [PATCH 2/5] arch/Config.in: remove BR2_ARCH_HAS_MMU_MANDATORY from BR2_aarch64* Thomas Petazzoni via buildroot
2022-04-19 21:34 ` [Buildroot] [PATCH 3/5] arch/Config.in.arm: re-organize MMU selection Thomas Petazzoni via buildroot
2022-05-18 20:24   ` Romain Naour
2022-05-18 21:35     ` Thomas Petazzoni via buildroot
2022-05-26  9:49       ` Peter Korsgaard
2022-04-19 21:34 ` [Buildroot] [PATCH 4/5] arch: drop support for SH2A Thomas Petazzoni via buildroot
2022-04-24  8:54   ` Yann E. MORIN [this message]
2022-04-19 21:34 ` [Buildroot] [PATCH 5/5] arch/Config.in.sh: move BR2_ARCH_HAS_MMU_MANDATORY one level up Thomas Petazzoni via buildroot
2022-05-26  9:46   ` Peter Korsgaard
2022-04-24  8:56 ` [Buildroot] [PATCH 1/5] arch/Config.in.sh: fixup MMU selection Yann E. MORIN
2022-05-26  9:44 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220424085454.GS2730@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=giulio.benetti@benettiengineering.com \
    --cc=james.hilliard1@gmail.com \
    --cc=romain.naour@gmail.com \
    --cc=thomas.de_schampheleire@nokia.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.