Linaro/Ubuntu ARM Package Porting

Registered by Dave Martin

This blueprint defines goals and strategy for addressing ARM-related package porting issues within Linaro and Ubuntu

Long-term high-level goals:
  * Eliminate all ARM-specific build and runtime failures.
  * Eliminate all cases where non-default bulid flags are used for avoiding a build failure (particularly -marm).
  * Eliminate need for -mimplicit-it (i.e., add IT blocks to inline assembler wherever required).
  * Review packages which may have SMP safety issues (typically every package which implements an atomics or threading API), and fix as necessary. Port atomics to the GCC intrinsics where possible and ensure correct use of memory barriers.
  * All fixes should be upstreamed in addition to fixing Ubuntu+Linaro.
  * Spread the knowledge about how to address porting issues as widely as possible within Linaro+Ubuntu and the wider community.

We can't get to this stage all in one go: a staged plan needs to be defined.

Blueprint information

Status:
Started
Approver:
Steve Langasek
Priority:
Medium
Drafter:
Dave Martin
Direction:
Approved
Assignee:
Steve Langasek
Definition:
Approved
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Steve Langasek

Related branches

Sprints

Whiteboard

References:
(1) https://wiki.ubuntu.com/ARM/Thumb2PackageReviewList
(2) The list of relevant tags is here: https://wiki.linaro.org/Process/Bugs/Tags
(3) https://wiki.linaro.org/Platform/Community/PortPilot
(4) https://code.launchpad.net/svammel

Review existing bugs with ARM-related tags (2): DONE
Define staged plan for addressing outstanding issues from review: TODO
Enable automated filing of bugs against ARM-specific FTBFS (4): DONE
Automatically file and tag bugs against packages with "conditional instruction should be in IT block" build errors: TODO
Review and file bugs against the issues identified on (1): DONE
Finalise schedule and invitations for Port Pilot (3): INPROGRESS

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.