Open main menu

CDOT Wiki β

ARMv8 Support Analysis

Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

ARMv8 Support Analysis

Project Description

Many Fedora packages contain assembley code for performance optimization or platform-specific support. Assembley code is very processor-specific. When assembley code is not present for a specific architecture, either the package will not build on that architecture, or other code (typically C) which is not processor-specific is used instead.

This project involves analyzing Fedora packages to determine which ones contain assembly code, and determining whether the package will probably build on the upcoming ARMv8 64-bit architecture.

Expected outcome: An analysis of part of the Fedora package set to predict ARMv8 build outcomes.

Maximum number of students: 6 (each taking part of the Fedora package set)

Skills required: packaging, scripting, writing

Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)

Sources: ARMv8_Support_Analysis


Project Leader(s)

Andrew Oatley-Willis
Wiki Page: Andrew OW
Learn: acoatley-willis
IRC: oatley

M A
Wiki Page: Max
Learn: mhabed
IRC: maxam


Project Contributor(s)

JCM's Code

Project Details

SBR600 Database Connect for ARMv8

  • Database Choice
    • MySQL
    • PSQL
  • Current Data Set before 0.1
Aborting due to error preparing package
Summary for package: python-2.7.3-6.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 1
        Total number of files: 1

        Inline assembly usage:
                ./Python-2.7.3/Python/pymath.c (2)
                ./Python-2.7.3/Python/ceval.c (9)
Summary for package: python-squaremap-1.0.0-0.5.b25.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-ssh-1.7.13-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-repoze-who-plugins-sa-1.0.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-demjson-1.6-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-zope-i18n-3.7.4-4.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-unidecode-0.04.7-4.fc16.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-smbc-1.0.13-1.fc17.src.rpm
Could not prepare source package
0
Aborting due to error preparing package
Summary for package: pymongo-2.1.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0

ExcludeArch:    ppc ppc64 %{sparc} s390 s390x


  • Data Formation Requirments for normalization
    • Possible csv file:
      1. packagename,assembly(y/n),adata1,adata2.....
      2. packagename,excludearch(y/n),arch1,arch2......

Project Plan

Tracking mechanism (bugzilla, trac, github, ...):

Key contacts:

Goals for each release and plans for reaching those goals:

  • 0.1
    • Build initial script to identify assembly code inside fedora packages
    • Make a basic database with the initial data
  • 0.2
    • Generate script that will distinguish between Arch and Platform specific assembly code
    • Get/make koji connector to get additional data
    • Make a better databse with the newer set dataset
  • 0.3
    • Predict the list of Fedora packages that may or may not build on ARMv8

Communication

Mailing Lists

arm

devel

Upsteam Wiki and Web

Links/Bugs/Tracking

Source Code Control

Blogs

Andrew's Blog

Maxam's Blog

Seneca Particpants

Andrew OW

Max

Non-Seneca Participants

Planets

Project News