From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
Cc: grub-devel@gnu.org
Subject: Re: [PATCH 1/2] Add powerpc little-endian (ppc64le) flags
Date: Tue, 30 Jun 2015 21:28:56 +0300 [thread overview]
Message-ID: <20150630212856.12c56676@opensuse.site> (raw)
In-Reply-To: <5592DA7A.8050107@linux.vnet.ibm.com>
В Tue, 30 Jun 2015 15:05:46 -0300
Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com> пишет:
> On 2015-06-30 11:33, Vladimir 'phcoder' Serbinenko wrote:
> > What about clang?
>
> Not good news about clang support. This is what the toolchain team said
> about it:
>
> The -mbig-endian option was added around April 10th, 2014.
> Unfortunately, those who implemented it only implemented it for ARM and
> one other architecture.
>
> The option is currently accepted on Power systems, but does not have any
> affect on the code generation for Power.
>
>
> So, what can we do here? Maybe add a constrain in the configure file
> saying that it's not possible to build GRUB in a LE environment using clang.
If I understand it correctly, it is possible to build for big-endian
PowerPC using
clang -target=powerpc
but then we depend on clang being built with BE target support; and
e.g. openSUSE builds it with
cmake -G "Ninja" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_TARGETS_TO_BUILD=host \
-DCMAKE_C_FLAGS="-O0" \
-DCMAKE_CXX_FLAGS="-O0" \
-DLLVM_HOST_TRIPLE=%{host_triple} \
so as I understand on ppc64le it does not build support for any other
target. Actually openSUSE does not even build clang on ppc at all.
> >
> > Le 30 juin 2015 16:30, "Andrei Borzenkov" <arvidjaar@gmail.com
> > <mailto:arvidjaar@gmail.com>> a écrit :
> >
> > On Tue, Jun 30, 2015 at 5:03 PM, Vladimir 'phcoder' Serbinenko
> > <phcoder@gmail.com <mailto:phcoder@gmail.com>> wrote:
> > > Which compilers support these flags? I'm concerned of breaking
> > old compilers
> > >
> >
> > -static and -mbig-endian are listed in gcc 2.95.3 documentation for PPC.
> >
> > > Le 30 juin 2015 14:57, "Paulo Flabiano Smorigo"
> > > <pfsmorigo@linux.vnet.ibm.com
> > <mailto:pfsmorigo@linux.vnet.ibm.com>> a écrit :
> > >>
> > >> libgcc dependency was removed *just* for this target because
> > >> the distros that use ppc64el doesn't have 32-bit support on it.
> > >>
> > >> * configure.ac <http://configure.ac>: Add targets for
> > powerpc64el and skip libgcc.
> > >> * Makefile.am: Likewise.
> > >> ---
> > >> configure.ac <http://configure.ac> | 8 ++++++++
> > >> 1 file changed, 8 insertions(+)
> > >>
> > >> diff --git a/configure.ac <http://configure.ac> b/configure.ac
> > <http://configure.ac>
> > >> index fd8a62e..0a79fad 100644
> > >> --- a/configure.ac <http://configure.ac>
> > >> +++ b/configure.ac <http://configure.ac>
> > >> @@ -116,6 +116,7 @@ if test "x$with_platform" = x; then
> > >> x86_64-*) platform=pc ;;
> > >> powerpc-*) platform=ieee1275 ;;
> > >> powerpc64-*) platform=ieee1275 ;;
> > >> + powerpc64le-*) platform=ieee1275 ;;
> > >> sparc64-*) platform=ieee1275 ;;
> > >> mipsel-*) platform=loongson ;;
> > >> mips-*) platform=arc ;;
> > >> @@ -138,6 +139,7 @@ case "$target_cpu"-"$platform" in
> > >> x86_64-none) ;;
> > >> x86_64-*) target_cpu=i386 ;;
> > >> powerpc64-ieee1275) target_cpu=powerpc ;;
> > >> + powerpc64le-ieee1275) target_cpu=powerpc ;;
> > >> esac
> > >>
> > >> # Check if the platform is supported, make final adjustments.
> > >> @@ -601,6 +603,12 @@ if test "x$target_cpu" = xi386 && test
> > "x$platform"
> > >> != xemu; then
> > >> TARGET_CFLAGS="$TARGET_CFLAGS -march=i386"
> > >> fi
> > >>
> > >> +if test x$target_cpu = xpowerpc; then
> > >> + TARGET_CFLAGS="$TARGET_CFLAGS -mbig-endian"
> > >> + TARGET_CCASFLAGS="$TARGET_CCASFLAGS -mbig-endian"
> > >> + TARGET_LDFLAGS="$TARGET_LDFLAGS -static -mbig-endian"
> > >> +fi
> > >> +
> > >> if test "x$target_m32" = x1; then
> > >> # Force 32-bit mode.
> > >> TARGET_CFLAGS="$TARGET_CFLAGS -m32"
> > >> --
> > >> 2.1.0
> > >>
> > >>
> > >> _______________________________________________
> > >> Grub-devel mailing list
> > >> Grub-devel@gnu.org <mailto:Grub-devel@gnu.org>
> > >> https://lists.gnu.org/mailman/listinfo/grub-devel
> > >
> > >
> > > _______________________________________________
> > > Grub-devel mailing list
> > > Grub-devel@gnu.org <mailto:Grub-devel@gnu.org>
> > > https://lists.gnu.org/mailman/listinfo/grub-devel
> > >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > Grub-devel@gnu.org <mailto:Grub-devel@gnu.org>
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
> >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > Grub-devel@gnu.org
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
>
>
next prev parent reply other threads:[~2015-06-30 18:29 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-30 12:56 [PATCH 0/2] Add remaining parts for ppc64le environment Paulo Flabiano Smorigo
2015-06-30 12:56 ` [PATCH 1/2] Add powerpc little-endian (ppc64le) flags Paulo Flabiano Smorigo
2015-06-30 14:03 ` Vladimir 'phcoder' Serbinenko
2015-06-30 14:29 ` Andrei Borzenkov
2015-06-30 14:33 ` Vladimir 'phcoder' Serbinenko
2015-06-30 18:05 ` Paulo Flabiano Smorigo
2015-06-30 18:28 ` Andrei Borzenkov [this message]
2015-06-30 19:34 ` Vladimir 'phcoder' Serbinenko
2015-07-04 6:46 ` Andrei Borzenkov
2015-07-05 17:38 ` Andrei Borzenkov
2015-07-15 17:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-07-16 18:55 ` Andrei Borzenkov
2015-07-16 19:05 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-07-16 19:30 ` Andrei Borzenkov
2015-07-20 13:01 ` Paulo Flabiano Smorigo
2015-07-22 3:23 ` Andrei Borzenkov
2015-07-22 17:00 ` Paulo Flabiano Smorigo
2015-07-15 17:36 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-07-15 16:46 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-06-30 14:33 ` Paulo Flabiano Smorigo
2015-06-30 12:56 ` [PATCH 2/2] Suport for bi-endianess in elf file Paulo Flabiano Smorigo
2015-06-30 15:03 ` Andrei Borzenkov
2015-06-30 18:06 ` Paulo Flabiano Smorigo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150630212856.12c56676@opensuse.site \
--to=arvidjaar@gmail.com \
--cc=grub-devel@gnu.org \
--cc=pfsmorigo@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.