public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: squirvel voxbox <squirvel@gmail.com>
To: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Cc: "crossgcc@sourceware.org" <crossgcc@sourceware.org>
Subject: Re: Defining a Super Specific uArch
Date: Tue, 12 Jan 2021 23:41:53 -0500	[thread overview]
Message-ID: <CAMdB7VYQUYOZEvbZxC8dUfDSsORCcmwgHmSrD8U1_Mq0UtnOoQ@mail.gmail.com> (raw)
In-Reply-To: <e22842ef-d1a3-3de8-4bbf-dc7c2ac58387@alliedtelesis.co.nz>

Thanks so much for the info, I was able to get my build running with it.

Very much was under the impression that the suffix was meant to define the
specific arch variant (ex POWER, with the suffix 8 or 9), rather than just
being the final name of the toolchain/config.

Cheers!

On Tue, Jan 12, 2021 at 7:04 PM Chris Packham <
Chris.Packham@alliedtelesis.co.nz> wrote:

>
> On 13/01/21 11:45 am, squirvel voxbox via crossgcc wrote:
> > Hi All,
> >
> > I asked a fairly similar question over on the irc channel, and didn't
> get a
> > response, so I'm trying here.
> https://github.com/crosstool-ng/crosstool-ng is probably the best
> support channel these days. I keep an eye on IRC but it's sporadic at best.
> > Let's say I'm attempting to target a super specific CPU, (in this case a
> > RK3328, which is a 64bit armv8-a+crypto cpu). What would be the proper
> way
> > to define the cpu?
> My initial thought is to make a generic aarch64 toolchain and use
> -march= in CFLAGS to tune for your desired system (the
> aarch64-unknown-linux-gnu sample is probably good enough for this).
> > I am currently defining:
> >      target architecture: arm
> >      suffix to the arch-part: v8-a+crypto (according to gcc, the dash is
> > required to define v8-a)
> The suffix is just used in naming the tools so it could be anything
> (often people add things "le", "be" or "hf"). Adding a '-' breaks things
> that use the toolchain tuple to figure stuff out. It'd be nice if we
> could stop users from putting a '-' in there but I'm not sure that
> Kconfig has a way of validating string input fields.
> >      emit assembly for CPU: cortex-a53
> >      other items are set based on the sample aarch64-rpi3 configuration
> >
> > But ct-ng build fails due to:
> >      "Invalid configuration `aarch64v8-a+crypto-RK3328-linux-gnu': more
> than
> > four components" (so more than 4 dashes according to the script source
> code)
> > or if I disable the vendor string (set to RK3328)
> >      "Invalid configuration `aarch64v8-a+crypto-linux-gnu': machine
> > `aarch64v8-a+crypto' not recognized"
> >
> > In theory I could just add all the specific uarch flags to CFLAGS/LDFLAGS
> > such as -march=, but that feels rather hacky especially since there is an
> > arch suffix field.
> I think what you want is to set CT_ARCH_ARCH ("Architecture level:") to
> armv8-a+crypto which should have the effect of making this the default
> when no -march= is specified in CFLAGS. The fact that you're already
> setting the vendor string to RK3328 is probably good enough to
> distinguish the resulting toolchain from any others you might have.
> > Is the hacky way the way I should be defining this cpu, or am I just
> > specifying this incorrectly? If the latter, what is the proper way to
> > specify a super specific uarch?
> >
> > Thanks,
> > squirvel
> > --
> > For unsubscribe information see http://sourceware.org/lists.html#faq

      reply	other threads:[~2021-01-13  4:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-12 22:45 squirvel voxbox
2021-01-13  0:04 ` Chris Packham
2021-01-13  4:41   ` squirvel voxbox [this message]

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=CAMdB7VYQUYOZEvbZxC8dUfDSsORCcmwgHmSrD8U1_Mq0UtnOoQ@mail.gmail.com \
    --to=squirvel@gmail.com \
    --cc=Chris.Packham@alliedtelesis.co.nz \
    --cc=crossgcc@sourceware.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).