Mailinglist Archive: opensuse-buildservice (132 mails)

< Previous Next >
Re: [opensuse-buildservice] [RFC] Is there any plan to add ILP32 support for aarch64?

Good answer, thanks Jan,

On Montag, 26. Januar 2015, 10:57:12 wrote Jan Engelhardt:
On Monday 2015-01-26 10:30, Bamvor Jian Zhang wrote:
I got 4 commit about aarch64 in obs source code[openbuildservice] with
"git log --grep aarch64":
effc064 [backend] aarch64 workers can also build 32bit arm
e0bd2e5 [api] add aarch64 to xml schema file
b71ecfe [api] add aarch64 architecture
0c08cbe [backend] add aarch64 architecture

But I still not puzzled about how to start.

I also found some Linux32 definitions in obs source code[openbuildservice],
does it
mean the ilp32 is supported on the following architecture?

src/backend/BSCando.pm: 'x86_64' => [ 'x86_64', 'i586:linux32',
'i686:linux32' ],
src/backend/BSCando.pm: 'sparc64' => [ 'sparc64v', 'sparc64',
'sparcv9v', 'sparcv9', 'sparcv8:linux32', 'sparc:linux32' ],

This table maps `uname -m` to packages that can be built (using :helper).
Therefore,

I just want to add here that this helper "linux32" needs to be available
as binary to do the personality switch. I hope the aarch64 kernel supports
this and you have such a binary doing the 64bit->32bit personality switch.

If not, you can go the ppc64le way, where the kernel launched inside the
VM is doing the switch (from big to little endian in this case).
Check our kernel-obs-build package for details how to provide such a kernel.


'x86_64' => [ 'x86_64', 'x32', 'i586:linux32', ...]

Similar for arm.

BTW: basically, add ilp32 support means that adding ilp32 support to kernel,
gcc and glibc. And pass CC or CXX with additional -mabi=ilp32 to overwrite
the
default -mabi=lp64 when building the packages.

This is better done in /usr/lib/rpm/rpmrc:

optflags: x86_64 -O2 -g -m64 -D_FORTIFY_SOURCE=2 ...
optflags: x32 -O2 -g -mx32 -D_FORTIFY_SOURCE=2 ...

which means rpm itself needs to be augmented first.

Or even better, you have a gcc.rpm for aarch32 architecture which has
this default already?

Do you need a aarch32 architecture definition for your builds in OBS?
I can submit one to git master if needed ...

--

Adrian Schroeter
email: adrian@xxxxxxx

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip
Upmanyu, Graham Norton, HRB 21284 (AG Nürnberg)
Maxfeldstraße 5
90409 Nürnberg
Germany


--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >