This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[AArch64] Newlib/libgloss port for ARM's new 64-bit architecture, AArch64


Following on from the recent publication of GCC and binutils ports, ARM is pleased to announce a port of newlib and libgloss to its AArch64 architecture. This completes the bare minimum support required for a bare-metal toolchain.

Please note that while the new port of the libraries has been used to build a large body of software, it should still be considered work-in-progress. However, we believe that the code is sufficiently functional for many purposes.

The following target triplets have been tested using toolchains built on 32- and 64-bit hosts:

- aarch64-none-elf
- aarch64_be-none-elf

The code is structured from the start to use libgloss; all the board-specific configuration is held there. An initial configuration for the draft AArch64 RDI protocol is provided.

There is just one failure, newlib.locale/UTF-8.c, being reported from test-runs. However, we believe this is a generic issue as the same test fails in many other target configurations.

A final warning, although the big-endian support here is as good as the little-endian support, GCC for big-endian is still definitely in development.


Thanks, Yufeng


./ChangeLog 2012-09-18 Ian Bolton <ian.bolton@arm.com> Jim MacArthur <jim.macarthur@arm.com> Marcus Shawcroft <marcus.shawcroft@arm.com> Nigel Stephens <nigel.stephens@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Richard Earnshaw <rearnsha@arm.com> Sofiane Naci <sofiane.naci@arm.com> Tejas Belagod <tejas.belagod@arm.com> Yufeng Zhang <yufeng.zhang@arm.com>

	* configure.ac: Add AArch64.
	* configure: Re-generated.

libgloss/ChangeLog
2012-09-18  Ian Bolton  <ian.bolton@arm.com>
	    Jim MacArthur  <jim.macarthur@arm.com>
	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
	    Nigel Stephens  <nigel.stephens@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <rearnsha@arm.com>
	    Sofiane Naci  <sofiane.naci@arm.com>
	    Tejas Belagod  <tejas.belagod@arm.com>
	    Yufeng Zhang  <yufeng.zhang@arm.com>

	* aarch64/Makefile.in: New file.
	* aarch64/_exit.c: New file.
	* aarch64/_kill.c: New file.
	* aarch64/aclocal.m4: Generated.
	* aarch64/configure: Generated.
	* aarch64/configure.in: New file.
	* aarch64/cpu-init/Makefile.in: New file.
	* aarch64/cpu-init/rdimon-aem-el3.S: New file.
	* aarch64/crt0.S: New file.
	* aarch64/elf-rdimon.specs: New file.
	* aarch64/libcfunc.c: New file.
	* aarch64/svc.h: New file.
	* aarch64/syscalls.c: New file.
	* configure.in: Add AArch64.
	* configure: Re-generated.

newlib/ChangeLog
2012-09-18  Ian Bolton  <ian.bolton@arm.com>
	    Jim MacArthur  <jim.macarthur@arm.com>
	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
	    Nigel Stephens  <nigel.stephens@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <rearnsha@arm.com>
	    Sofiane Naci  <sofiane.naci@arm.com>
	    Tejas Belagod  <tejas.belagod@arm.com>
	    Yufeng Zhang  <yufeng.zhang@arm.com>

	* configure.host: Add AArch64.
	* libc/include/machine/ieeefp.h: Add AArch64.
	* libc/include/machine/setjmp.h: Add AArch64.
	* libc/include/machine/time.h: Add AArch64.
	* libc/include/sys/config.h: Add AArch64.
	* libc/machine/aarch64/Makefile.am: New file.
	* libc/machine/aarch64/Makefile.in: Generated.
	* libc/machine/aarch64/aclocal.m4: Generated.
	* libc/machine/aarch64/configure: Generated.
	* libc/machine/aarch64/configure.in: New file.
	* libc/machine/aarch64/setjmp.S: New file.
	* libc/machine/configure.in: Add AArch64.
	* libc/machine/configure: Re-generated.
	* libm/machine/aarch64/Makefile.am: New file.
	* libm/machine/aarch64/Makefile.in: Generated.
	* libm/machine/aarch64/aclocal.m4: Generated.
	* libm/machine/aarch64/configure: Generated.
	* libm/machine/aarch64/configure.in: New file.
	* libm/machine/aarch64/s_ceil.c: New file.
	* libm/machine/aarch64/s_floor.c: New file.
	* libm/machine/aarch64/s_fma.c: New file.
	* libm/machine/aarch64/s_fmax.c: New file.
	* libm/machine/aarch64/s_fmin.c: New file.
	* libm/machine/aarch64/s_llrint.c: New file.
	* libm/machine/aarch64/s_llround.c: New file.
	* libm/machine/aarch64/s_lrint.c: New file.
	* libm/machine/aarch64/s_lround.c: New file.
	* libm/machine/aarch64/s_nearbyint.c: New file.
	* libm/machine/aarch64/s_rint.c: New file.
	* libm/machine/aarch64/s_round.c: New file.
	* libm/machine/aarch64/s_trunc.c: New file.
	* libm/machine/aarch64/sf_ceil.c: New file.
	* libm/machine/aarch64/sf_floor.c: New file.
	* libm/machine/aarch64/sf_fma.c: New file.
	* libm/machine/aarch64/sf_fmax.c: New file.
	* libm/machine/aarch64/sf_fmin.c: New file.
	* libm/machine/aarch64/sf_llrint.c: New file.
	* libm/machine/aarch64/sf_llround.c: New file.
	* libm/machine/aarch64/sf_lrint.c: New file.
	* libm/machine/aarch64/sf_lround.c: New file.
	* libm/machine/aarch64/sf_nearbyint.c: New file.
	* libm/machine/aarch64/sf_rint.c: New file.
	* libm/machine/aarch64/sf_round.c: New file.
	* libm/machine/aarch64/sf_trunc.c: New file.
	* libm/machine/configure.in: Add AArch64.
	* libm/machine/configure: Re-generated.

Attachment: aarch64-port.patch.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]