Issue 127040 - Patch for arm 32
Summary: Patch for arm 32
Status: CONFIRMED
Alias: None
Product: Build Tools
Classification: Code
Component: configure (show other issues)
Version: 4.2.0-dev
Hardware: Other Linux 32-bit
: P5 (lowest) Normal with 4 votes (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords: new_implementation
Depends on:
Blocks:
 
Reported: 2016-07-13 06:56 UTC by eric.bachard
Modified: 2021-05-30 08:44 UTC (History)
5 users (show)

See Also:
Issue Type: PATCH
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Patch to allow building on arm 32 bits (5.41 KB, patch)
2016-07-13 07:47 UTC, eric.bachard
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description eric.bachard 2016-07-13 06:56:13 UTC
It was not possible to build on Linux ARM (32 bits) with the trunk version of Aoo, while it does perfectly build with OOo4Kids and OOoLight.

So, I propose a patch, using the same changes I did on ARM for OOo4Kids and OOoLight a while ago, and perfectly building and working on recent armv7+ boards.

The attached patch, under Apache License, is a proposal (feel free to improve it) to allow building AOo on :

- old fashion ARMV4T on old machines (was before the patch) ;
- softfp abi on ARMV6 ;
- hardfloat abi arm isa v7+ architectures.

IMPORTANT : after the patch being applied,and before configure, you MUST run "autoconf" in the main directory, to apply and keep the proposed changes.

Modified files :

- solenv/inc/unxlngr.mk : added ARM_FLAVOUR, ARMV7 macros, improved ARM_TARGET with better flags ;
- sal/osl/unx/intelck.c : added smp barriers (arm processors are multi-cores since a while) ;
- configure_ac : added new cases, ARMV7 is now the default (doesn't make sense to build OOo for previous architectures, but who knows ... ) ;
- set_soenv.in : added ARM_FLAVOUR macro ;
- modified EPM_FLAGS (needed when building the .debs) ;
- added OUTPATH : unxlngrh for hardfloat abi when available.

How to use it : 

at configure time, add :

--with-arm-target=7  (or 5, or 6 ... ) => will define ARMV7 macro
And in the case the libc is fpuv3 comptabile, the hardfloat abi will be used, (else it will be the softfp).

Notes:
- this patch has just been partially tested with AOO build
- it has not been tested on armv8 (64 bits)
- default value is armv7+ isa ;
- the flags need to be checked after configure.

Tested on Raspberry Pi 3 rev. B

Regards,
Eric Bachard
Comment 1 eric.bachard 2016-07-13 06:59:33 UTC
Setting some keywords.

Why does our public email appear in the issue ? 

This is open door to spam, and I'm not able to change that ?
Comment 2 damjan 2016-07-13 07:38:46 UTC
(In reply to eric.bachard from comment #1)
> Setting some keywords.
> 
> Why does our public email appear in the issue ? 
> 
> This is open door to spam, and I'm not able to change that ?

It only appears to logged in users.

Where is your patch?
Comment 3 eric.bachard 2016-07-13 07:47:14 UTC
Created attachment 85606 [details]
Patch to allow building on arm 32 bits

Sorry, I believed it was attached.

Apologies :-/
Comment 4 oooforum (fr) 2016-07-13 14:03:42 UTC
Good to see come back ;-)
Set status as PATCH
Comment 5 Matthias Seidel 2021-05-30 01:32:11 UTC
Has this patch ever been applied?

It would be great to have AOO on a Raspberry Pi.
Comment 6 Peter 2021-05-30 08:44:55 UTC
Okay, the patch has not been applied.
But it is seems outdated, too. Maybe we should ask for some guidance.
The patch sets some variables different then our current ARM config.
Depending on platform it sets:
$EPM_FLAGS    = "-a armhf";
or
$EPM_FLAGS    = "-a armel";

However our ARM config sets
$EPM_FLAGS      = "-a arm";

Someone needs to check this what is still needed and what is out dated from ARM perspective.