[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/3] grub powerpc64 little-endian enablement
From: |
Paulo Flabiano Smorigo |
Subject: |
[RFC PATCH 0/3] grub powerpc64 little-endian enablement |
Date: |
Thu, 28 Aug 2014 16:56:02 -0300 |
From: Paulo Flabiano Smorigo <address@hidden>
Hi,
At the beginning of the year we provide a patchset that enabled GRUB for
little-endian PowerPC. Our approach at the time was to build GRUB itself and
its tools in 64-bit little-endian. One of the reasons of build in 64-bit is
to avoid 32-bit dependencies in the distro and build a system entirely 64-bit.
This patchset was not welcomed at the time because it would bring a
high-maintainance-cost, without real gain since it could just be cross-compiled.
After that, Brent Baude, Vladmir (phcoder) and I started to work in a solution
that would cross-compile but without 32-bit dependencies. This patchset is the
result of this new approach. It's based on the work of Brent Baude, Vladimir
(phcoder), and Tomohiro.
It can be devided in two parts:
1) Skip libgcc dependency just for ppc64el (patch 1 and 2);
2) Check elf endianess and byteswap if necessary (patch 3);
The result is GRUB itself in 32-bit BE and its tools in 64-bit LE. This solution
satisfies the needs of the distros. I tested it in three different distros, in
both endianess and it's fine.
If thoses patches were accepted we will have an official solution. Nowadays,
distros are taking diffrent approachs. Some of then are using the original
solutions and others are using cross-compiler.
--
Paulo Flabiano Smorigo
IBM Linux Technology Center
Paulo Flabiano Smorigo (3):
Add powerpc little-endian (ppc64le) flags
Files reorganization and include some libgcc fuctions
Suport for bi-endianess in elf file
configure.ac | 17 ++++-
grub-core/Makefile.am | 2 +
grub-core/Makefile.core.def | 1 +
grub-core/kern/elf.c | 60 +++++++++++++++-
grub-core/kern/elfXX.c | 73 ++++++++++++++++++++
grub-core/kern/misc.c | 107 ++++++++++++++++++++++++++++
grub-core/kern/powerpc/compiler-rt.S | 130 +++++++++++++++++++++++++++++++++++
include/grub/compiler.h | 61 ++++++++++++++++
include/grub/libgcc.h | 67 ------------------
9 files changed, 447 insertions(+), 71 deletions(-)
create mode 100644 grub-core/kern/powerpc/compiler-rt.S
--
1.8.1.4
- [RFC PATCH 0/3] grub powerpc64 little-endian enablement,
Paulo Flabiano Smorigo <=