Meego Wiki
Views

SDK/Toolchains/Meetings/Notes20101022

From MeeGo wiki
< SDK | Toolchains | Meetings
Revision as of 13:44, 17 January 2011 by Kant (Talk | contribs)
Jump to: navigation, search

Contents

Date and Time

Friday 2010-10-22 @8.00 - 9.00 UTC

Agenda

  • Pointers to mail discussion
  • How to ensure optimized toolchain for x86 and ARM?
  • Toolchain in SDK and OBS
  • Toolchain releasing
  • Open issues
  • AOB

Pointers to mail discussion

  • Nokia is currently working with ARM-toolchain quite extensively. Currently there are discussions with Linaro concerning the ARM support and based on the evaluation it seems to be competent to build our Harmattan packages. Linaro has provided toolchain that supports hard-fp and it will be tested as soon as the environment has been built.
  • Jarmo has drafted the figure [1] to clarify how the toolchain support would be done. In the figure compiler is taken from gnu-gcc baseline, let say e.g. gcc-4.5. MeeGo compiler is based on that and it can be named e.g. as meego-gcc 1.2.0 to be shipped to MeeGo 1.2 release.
  • Those patches that are common to both ARM and x86 architectures are taken directly to meego-gcc.
  • Nokia concentrates to build ARM support and may use Linaro as the source - and produce ARM optimized compiler. Similarly Intel works to produce x86-optimized compiler.
  • In some point Nokia and Intel provides updates to meego-gcc that is then the compiler for MeeGo release.
  • Another thing: What comes to ARM hard-fp support. We need that to MeeGo 1.2 release and we are working with it.

Comments from the audience:

Austin:

  • We should use only one pkg for x86 and arm side as baseline and should not change the name;
  • For any patch, whatever for x86 or arm, it should be accepted into upstream as the precondition of meego acceptance, but with exception on huge increasing patch in performance or hotfixing which is hard to be accepted into upstream within limited time slot; we should not have any 'private' patch for meego toolchain, except those tricks part which would never be part of mailine;
  • If we prefer to accept patch set from linaro as arm code, then those linaro patch set should be worked out based on meego's compiler code, that means, if meego sticks to 450, those current patch set should be backport to 450, if meego update compiler to 451 (not sure so far), then we can use those patchset directly;
  • So far, the 1st priority thing for compiler is: we should make decision on which version would be used in 1.2 asap, if 451 was accepted, then 451 should be commited into devel:base and big testing on this should begin asap, so that we can commit it into trunk:testing (for 1.2 target) by early of Dec.
  • Who will be the owner for ARM side about compiler/toolchain issue in meego bugzilla, and who will be added 'maintainer-ship' in meego toolchain OBS project?
  • another issue is: can Nokia expert take a look on glibc update on ARM side? So far, glibc update on ARM was blocked;
  • We also should make agreement to meego toolchain's maintain process as we discussed before;

Jan-Simon:

  • As we're building all the compilers in obs out of one consolidated package, its required to use this package for the compiler on all architectures. (toolchain in MeeGo and in devel:tools:sdk:host)
  • Thus the patches need to flow into the main gcc package of meego !
  • Update to 4.5.1 together with adding linaro patches for ARM for 1.2 ? (vs. Arjan: "one thing to note is that for 1.2, the toolchain will not change at all.")

[1] http://wiki.meego.com/SDK/Toolchains#MeeGo_Toolchain_Change_Process

How to ensure optimized toolchain for x86 and ARM?

Jan-Simon: hardfloat target for MeeGo 1.2

  • Current options as defined in OBS:

%define __global_cflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security

Optflags: i586 %{__global_cflags} -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer Optflags: i686 %{__global_cflags} -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer

Optflags: armv5tel %{__global_cflags} -fmessage-length=0 -march=armv5te -mlittle-endian Optflags: armv6l %{__global_cflags} -fmessage-length=0 -march=armv6 -mlittle-endian -mfpu=vfp -mfloat-abi=softfp -D__SOFTFP__ Optflags: armv7l %{__global_cflags} -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=vfpv3 -mfloat-abi=softfp -D__SOFTFP__


Toolchain in SDK and OBS

Current Roles:

  • x86: Austin Zhang (Toolchain/OBS)
  • x86: Jackie Wu (Toolchain/SDK)
  • ARM: Al Nicolov (ARM Toolchain SDK+OBS)
  • ARM cross-compiler<->OBS integration: Jan-Simon Möller


Ideally OBS + SDK would have same maintainer(-group)

ARM x86
SDK Al Nikolov Jackie Wu
OBS Al + J-S Möller Austin Zhang


Agreed/AI: Common benchmarking rule / test package.

Personal tools