Re: Glob to match bare-metal SuperH target triple in config.gcc seems wrong (sh*-superh-elf)?

John Paul Adrian Glaubitz <[email protected]> Tue, 14 Apr 2026 08:42:35 +0200
Newsgroups gmane.linux.debian.ports.superh,gmane.comp.gcc.devel
Message-ID <227995e2a9846e9f07457ae7f7bdc55ad4690ee1.camel@physik.fu-berlin.de>
Hi John,

On Tue, 2026-04-14 at 02:38 +0000, John Scott wrote:
> I noticed at https://forge.sourceware.org/gcc/gcc-mirror/src/branch/maste=
r/gcc/config.gcc#L3399 that
> a glob expression "sh*-superh-elf" is used, and it's apparently intended =
to match embedded SuperH
> targets. However, the use of the "superh" token in the target triple appe=
ars to be serving as a
> manufacturer name. This looks like it could be a mistake; for example, I =
simply use the target tripl
> "sh-elf" when building Debian's bare-metal toolchain, and so this clause =
wouldn't take effect. It's
> also weird to see SuperH used in the manufacturer field anyway (Hitachi a=
nd Renesas would be more
> fitting if this were intended).

It actually makes sense since there used to be a company called "SuperH" ba=
ck then, see:

https://www.eetimes.com/hitachi-and-stmicro-form-superh-company/

> On the other hand, such as at lines 3429 and 3466 there, it seems like "s=
h-superh-*" is intended to be
> the same as "sh4-*", but only if there is no suffix on the CPU name. For =
example, sh2-superh-elf
> wouldn't get this "magic" treatment of being promoted to sh4.

Sounds like just a minor convenience feature to default the SH target to sh=
4.

> This is, at the very least, confusing, and if it's on purpose some in-lin=
e commentary would be helpful.
> Maybe there was a historical reason for this? Otherwise it would be fitti=
ng if the matching expression
> didn't include a manufacturer/vendor name because that is imprecise and d=
oesn't make a lot of sense here.

Is sh4-superh-elf actually a bare-metal target?

Adrian

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913