RTEMS ARMv8 Query

Chris Johns chrisj at rtems.org
Thu Feb 25 04:03:45 UTC 2016


On 25/02/2016 14:29, Raghav Nayak wrote:
>
> I am using RSB 4.12 it picks “gcc-6-20160124” which is already
> supporting aarch64. Do you see still I have to try building gcc by hand?
>
> Till now couldn’t understand the meaning of this error
>
> "configure: error: GAS does not know what format to use for target
> aarch64-unknown-rtems4.12"
>

You need to teach each component in the build set of tools about the 
aarch64 arch. It is best to do this by hand and once you have the 
patches we can come back to the RSB. To quote the second paragraph of 
the RSB manual (https://docs.rtems.org/rsb/):

  "The RTEMS Source Builder attempts to support any
   host environment that runs Python and you can build
   the package on. It is not some sort of magic that can
   take any piece of source code and make it build. Someone
   at some point in time has figured out how to build that
   package from source and taught this tool."

The parts you need to change are binutils, newlib (I think) and gcc.

For binutils I did:

  $ tar jxf binutils-2.26.tar.bz2
  $ mkdir aarch64
  $ cd aarch64
  $ ../binutils-2.26/configure --target=aarch64-rtems4.12
  $ make

and I got this error:

*** BFD does not support target aarch64-unknown-rtems4.12.
*** Look in bfd/config.bfd for supported targets.
*** Error code 1

Once binutils builds create a patch. You will also need a patch for the 
git version of binutils which you can post to the binutils list (you may 
need to submit FSF paper work for this).

The aarch64 binutils tools will allow you to build gcc. The RSB builds 
gcc using a single source tree so when you are ready I can help you 
create a suitable source tree by hand. You can then start the process of 
teaching gcc's ARMv8 support about RTEMS.

Once you have the patches posted to the various upstream projects, eg 
binutils, newlib and gcc, we can accept patches for the specific 
versions of binutils and gcc the RSB supports for 4.12. We currently 
place these in the RTEMS Tools repo 
(https://git.rtems.org/rtems-tools/tree/tools/4.12). We can then create 
a suitable bset config file with the source packages and patches to 
build an AArch64 set of tools.

Many thanks for doing this.

Chris



More information about the users mailing list