Mailinglist Archive: opensuse-buildservice (132 mails)

< Previous Next >
[opensuse-buildservice] Re: [RFC] Is there any plan to add ILP32 support for aarch64?
Adrian Schröter <adrian@xxxxxxx> writes:

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/ 'x86_64' => [ 'x86_64', 'i586:linux32',
'i686:linux32' ],
src/backend/ 'sparc64' => [ 'sparc64v', 'sparc64',
'sparcv9v', 'sparcv9', 'sparcv8:linux32', 'sparc:linux32' ],

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

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.

linux32 (ie. personality(PER_LINUX32)) will switch the uname -m output
from aarch64 to armv8l.

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
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?

Presumable a armv8l architecture will have a compiler that defaults to
generating 32-bit (ILP32) code.


Andreas Schwab, SUSE Labs, schwab@xxxxxxx
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >