RTEMS ARMv8 Query
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
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
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.
More information about the users