public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: bitmap kid <bitmap.kid@gmail.com>
To: "Richard Earnshaw (lists)" <Richard.Earnshaw@arm.com>
Cc: newlib@sourceware.org, eblot.ml@gmail.com
Subject: Re: Newlib-3.3.0 build failed with gcc-9.3.0 armv6-m
Date: Thu, 26 Mar 2020 19:07:58 +0100	[thread overview]
Message-ID: <CAPeH3Xw0hBRZcjF01RJr0ssYu=PGNjej9iyGA+CAKjD56JwQsA@mail.gmail.com> (raw)
In-Reply-To: <0b2ec839-cf69-6b65-e317-a60aab24114f@arm.com>

Thank you both for the advice and details.

Laboriously, I arrived at a solution which suits me. Precede the call to
./configure by setting the flag CFLAGS_FOR_TARGET with the following values:

CFLAGS_FOR_TARGET='- mcpu=arm7tdmi -marm -mlittle-endian -mfloat-abi=soft
-O0' ../newlib-3.3.0/configure --prefix = ... etc.

That does the job. Thank you again.

Le mer. 25 mars 2020 à 19:02, Richard Earnshaw (lists) <
Richard.Earnshaw@arm.com> a écrit :

> On 21/03/2020 17:45, bitmap kid via Newlib wrote:
> > Hello,
> >
> > When I compile newlib with a gcc-9.3.0, i get the following error :
> >
> > arm-unknown-eabi-gcc
> > -B/home/th/Downloads/newlib-3.3.0-build/arm-unknown-eabi/newlib/ -isystem
> >
> /home/th/Downloads/newlib-3.3.0-build/arm-unknown-eabi/newlib/targ-include
> > -isystem /home/th/Downloads/newlib-3.3.0/newlib/libc/include
> > -B/home/th/Downloads/newlib-3.3.0-build/arm-unknown-eabi/libgloss/arm
> >
> -L/home/th/Downloads/newlib-3.3.0-build/arm-unknown-eabi/libgloss/libnosys
> > -L/home/th/Downloads/newlib-3.3.0/libgloss/arm    -g -O2 -I.
> > -I../../../../newlib-3.3.0/libgloss/arm/.. `if [ -d ./../../newlib ];
> then
> > echo
> -I../../../../newlib-3.3.0/libgloss/arm/../../newlib/libc/machine/arm;
> > fi` -g -O2 -c ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S: Assembler
> messages:
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S:44: Error: SVC is
> > not permitted on this architecture
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S:45: Error: SVC is
> > not permitted on this architecture
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S:46: Error: SVC is
> > not permitted on this architecture
> > [...]
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S:102: Error: SVC
> is
> > not permitted on this architecture
> > ../../../../newlib-3.3.0/libgloss/arm/linux-syscalls0.S:103: Error: SVC
> is
> > not permitted on this architecture
> > make[3]: *** [Makefile:126 : linux-syscalls0.o] Erreur 1
> >
> > Not really surprising, because this GCC is armv6-m default arch, an
> > unavailable coprocessor instructions cpu.
> >
> > Am I at an impasse ?
> >
> > Below, the newlib configure command :
> >
> > ../newlib-3.3.0/configure --prefix=/home/th/armv4vm-cc/
> >   --disable-interwork --disable-newlib-supplied-syscalls --with-gnu-ld
> > --with-gnu-as --disable-shared --disable-nls
> --enable-newlib-io-long-long
> > --enable-newlib-io-long-double  --enable-newlib-io-c99-formats
> > --target=arm-unknown-eabi
> >
> > I I will not hide from you that I have not checked if this version of gcc
> > is compatible with this one from newlib :(
> >
> > I thank you so much to help me to find a work around.
> >
> > thierry
> >
>
> SVC is supported by armv6s-m, which is a minor variant of the
> architecture.  You can use that if you want.
>
> TLDR: the only difference between armv6-m and armv6s-m is how the SVC
> opcode is handled by the hardware.  In armv6s-m there is a specific
> exception mode to handle it.  In armv6-m this exception mode is lacking
> and the instruction will take the undefined instruction exception (which
> can then emulate the instruction if it so desires).  Either can
> therefore support SVC and the only difference is for 'kernel' code that
> has to understand the different behaviours.  There's a small performance
> cost as well, of course, because the instruction has to be decoded first
> if going via the undef instruction trap.
>
> R.
>

      reply	other threads:[~2020-03-26 18:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-21 17:45 bitmap kid
2020-03-23 11:39 ` Emmanuel Blot
2020-03-25 18:02 ` Richard Earnshaw (lists)
2020-03-26 18:07   ` bitmap kid [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='CAPeH3Xw0hBRZcjF01RJr0ssYu=PGNjej9iyGA+CAKjD56JwQsA@mail.gmail.com' \
    --to=bitmap.kid@gmail.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=eblot.ml@gmail.com \
    --cc=newlib@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).