Deal all,

I'm very pleased to announce that arm64 platform for Tizen:Common is
released. Now, we could have one more architecture  besides arm/i586/x86_64
for tizen platform. Actually, the snapshot image was generated since
December but crosswalk/crosswalk-bin were excluded due to build failure.
Finally, I've resolved the build failure of crosswalk/crosswalk-bin for
arm64[1].

To enable arm64 platform, we upgraded toolchain packages(gcc,glibc,binutils
and so on) to the latest version because they have many/much improvements
for arm64.

* Updated toolchain packages list:
 - gcc: 4.8.2 -> 4.9.2
 - binutils: 2.23.1 -> 2.24.90
 - glibc: 2.18 -> 2.20
 - gdb: 7.5.1 -> 7.8.1
 - gmp: 5.1.3 -> 6.0
 - qemu: 1.6.0 -> 2.1.0
 - llvm: 3.1 -> 3.5.0
I think this upgrade can be really helpful because we can get performance
improvements not only arm64 but also other architectures(arm/i586/x86_64).
You can see the release notes from gcc 4.9 version[2].

You can see the guide how to run the image on qemu and ARM Juno board[3].
Unfortunately, qemu-aarch64 can only emulate a mach-virt machine, thus it
can't support a display stuff.

To build your package for aarch64(arm64) using GBS tool, you just type
'aarch64' in the architecture field.
$ gbs build -A aarch64
And you can specify the architecture option in the spec file like below:
%ifarch aarch64
In the source code, you can use below definition to detect the arm64:
#if defined(__aarch64__)

Please note the aarch64 uses LP64 data model which is identical with x86_64.
The main differences between ILP32(arm/i586) and LP64(aarch64/x86_64) are
size of pointer and long data types. The LP64 model uses 64bit long type and
64bit pointer type. So, do not allow conversion of pointer type(8bytes) to
int type(4bytes).

Thanks to Philippe Coval's effort,  libav and some multimedia packages were
upgraded to support arm64 well. I think there is still many packages waiting
for upgrade especially architecture specific packages. Please upgrade your
packages if possible :)

Thanks to special guys who made an effort to enable arm64 platform.
(Vyachelav, Ilya, Yury, Stéphane, Phillipe and ...)

[1]:
https://review.tizen.org/gerrit/gitweb?p=platform/framework/web/crosswalk.gi
t;a=shortlog;h=refs/heads/tizen
[2]: https://gcc.gnu.org/gcc-4.9/changes.html
[3]: https://wiki.tizen.org/wiki/Tizen_ARM64_Development

_______________________________________________
Dev mailing list
[email protected]
https://lists.tizen.org/listinfo/dev

Reply via email to