Difference between revisions of "LEAP ILP 32"

From CDOT Wiki
Jump to: navigation, search
Line 4: Line 4:
  
 
* I downloaded gcc-4.9.2. I got mine from http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=255322.
 
* I downloaded gcc-4.9.2. I got mine from http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=255322.
* I created a scratch build for that rpm, which is accessible here: http://blue/kojifiles/work/tasks/4937/74937/gcc-4.9.2-5.bb4.src.rpm.
+
* I created a scratch build for that rpm, which is accessible here: http://blue/koji/taskinfo?taskID=83468.
 
* I downloaded the source rpm from that build and manually downloaded and installed required dependencies from the same place.
 
* I downloaded the source rpm from that build and manually downloaded and installed required dependencies from the same place.
* I run "rpm -i gcc-4.9.2-5.bb4.src.rpm" to install it on AArch64 builder.
+
* I run "rpm -i gcc-4.9.2-6.bb4.src.rpm" to install it on AArch64 builder.
 
* I went in the "~/rpmbuild/SPEC" directory, and run command "rpmbuild -bp gcc.spec" to get the prep stage on the rpm.
 
* I went in the "~/rpmbuild/SPEC" directory, and run command "rpmbuild -bp gcc.spec" to get the prep stage on the rpm.
* I created a git repository, and pushed the content of "~/rpmbuild/BUILD" directory to it to get the original information in it.
+
* I run "~/rpmbuild/BUILD/gcc-4.9.2-20150212/configure" file.
* I went in the "~/rpmbuild/BUILD" directory, then went in the directory that starts with "gcc" (it will have different endings).
+
* I created a git repository (https://github.com/ArtemL/GCC), copied "~/rpmbuild/BUILD/gcc-4.9.2-20150212/" directory into it, and pushed it.
I changed "configure" file in the next ways:
+
* I changed "~/rpmbuild/BUILD/gcc-4.9.2-20150212/Makefile.in" in the next ways:
* I run "./configure" command.
+
* I changed "Makefile" file in the next ways:
* I changed "libjava/Makefile.in" in the next ways:
+
<pre>@@ -47,7 +47,7 @@ target=aarch64-unknown-linux-gnu
I changed "Makefile" file in the next ways:
+
 
* I run "make" command, then waited for the make for a long period of time for it to be complete (around 10 hours).
+
program_transform_name = s,y,y,
* I committed the changes and run "git diff --patience master gcc49-leap-ilp-32 | filterdiff --format=context > ../gcc49-leap-ilp-32.patch" command to get the patch for my changes.
+
 
 +
-prefix = /usr/local
 +
+prefix = /opt/ilp32/usr/local
 +
exec_prefix = ${prefix}
 +
 
 +
srcdir = .
 +
</pre>
 +
* I committed the changes and run "git format-patch master --stdout > gcc49-makefile.patch" command to get the patch for my changes.
 +
I copied "gcc49-makefile.patch" to "~/rpmbuild/SOURCES/"
 +
I edited "~/rpmbuild/SPECS/gcc.spec" in the next way:
 
* I run "export RPM_PACKAGER="Artem Luzyanin <artem.luzyanin@senecacollege.ca>""
 
* I run "export RPM_PACKAGER="Artem Luzyanin <artem.luzyanin@senecacollege.ca>""
 
* I run "rpmdev-bumpspec -c "This patch is to create ilp32-capable gcc in a separate tree."" command to add the changes with comments to the spec file.
 
* I run "rpmdev-bumpspec -c "This patch is to create ilp32-capable gcc in a separate tree."" command to add the changes with comments to the spec file.
I changed "~/rpmbuild/SPEC/gcc.spec" file in the next way:
 
 
I run "rpmbuild -bs gcc.spec" command to get the source rpm.  
 
I run "rpmbuild -bs gcc.spec" command to get the source rpm.  
  

Revision as of 10:19, 24 July 2015

This page describes the process of creating ILP32 support for LEAP.

GCC:

  • I downloaded gcc-4.9.2. I got mine from http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=255322.
  • I created a scratch build for that rpm, which is accessible here: http://blue/koji/taskinfo?taskID=83468.
  • I downloaded the source rpm from that build and manually downloaded and installed required dependencies from the same place.
  • I run "rpm -i gcc-4.9.2-6.bb4.src.rpm" to install it on AArch64 builder.
  • I went in the "~/rpmbuild/SPEC" directory, and run command "rpmbuild -bp gcc.spec" to get the prep stage on the rpm.
  • I run "~/rpmbuild/BUILD/gcc-4.9.2-20150212/configure" file.
  • I created a git repository (https://github.com/ArtemL/GCC), copied "~/rpmbuild/BUILD/gcc-4.9.2-20150212/" directory into it, and pushed it.
  • I changed "~/rpmbuild/BUILD/gcc-4.9.2-20150212/Makefile.in" in the next ways:
  • I changed "Makefile" file in the next ways:
@@ -47,7 +47,7 @@ target=aarch64-unknown-linux-gnu

 program_transform_name = s,y,y,

-prefix = /usr/local
+prefix = /opt/ilp32/usr/local
 exec_prefix = ${prefix}

 srcdir = .
  • I committed the changes and run "git format-patch master --stdout > gcc49-makefile.patch" command to get the patch for my changes.

I copied "gcc49-makefile.patch" to "~/rpmbuild/SOURCES/" I edited "~/rpmbuild/SPECS/gcc.spec" in the next way:

  • I run "export RPM_PACKAGER="Artem Luzyanin <artem.luzyanin@senecacollege.ca>""
  • I run "rpmdev-bumpspec -c "This patch is to create ilp32-capable gcc in a separate tree."" command to add the changes with comments to the spec file.

I run "rpmbuild -bs gcc.spec" command to get the source rpm.

GLIBC:

  • I downloaded glibc-2.17 source rpm. I got mine from http://blue/kojifiles/packages/glibc/2.17/78.bb4/src/glibc-2.17-78.bb4.src.rpm.
  • I downloaded and installed required dependencies from the same place.
  • I run "rpm -i glibc-2.17-78.bb4.src.rpm" to install it on AArch64 builder.
  • I went in the "~/rpmbuild/SPEC" directory, and run command "rpmbuild -bp glibc.spec" to get the prep stage on the rpm.
  • I created a git repository, and pushed the content of "~/rpmbuild/BUILD/glibc{some random numbers}" directory to it to get the original information in it.
  • I went in the "~/rpmbuild/BUILD/glibc{some random numbers}" directory.

I changed "configure" file in the next ways: I run "./configure" command. I changed "Makefile" file in the next ways:

  • I run "make" command, then waited for the make for a long period of time for it to be complete (around 7 hours).
  • I committed the changes and run "git diff --patience master glibc21-leap-ilp-32 | filterdiff --format=context > ../glibc21-leap-ilp-32.patch" command to get the patch for my changes.
  • I run "export RPM_PACKAGER="Artem Luzyanin <artem.luzyanin@senecacollege.ca>""
  • I run "rpmdev-bumpspec -c "This patch is to create ilp32-compiler libraries of glibc in a separate tree."" command to add the changes with comments to the spec file.

I changed "~/rpmbuild/SPEC/glibc.spec" file in the next way: I run "rpmbuild -bs glibc.spec" command to get the source rpm.