Le 30 juin 2015 20:29, "Andrei Borzenkov" <
address@hidden> a écrit :
В Tue, 30 Jun 2015 15:05:46 -0300
Paulo Flabiano Smorigo <address@hidden> пишет:
> 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" <address@hidden
> > <mailto:address@hidden>> a écrit :
> >
> > On Tue, Jun 30, 2015 at 5:03 PM, Vladimir 'phcoder' Serbinenko
> > <address@hidden <mailto:address@hidden>> 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"
> > > <address@hidden
> > <mailto:address@hidden>> 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
> > >> address@hidden <mailto:address@hidden>
> > >> https://lists.gnu.org/mailman/listinfo/grub-devel
> > >
> > >
> > > _______________________________________________
> > > Grub-devel mailing list
> > > address@hidden <mailto:address@hidden>
> > > https://lists.gnu.org/mailman/listinfo/grub-devel
> > >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > address@hidden <mailto:address@hidden>
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
> >
> >
> > _______________________________________________
> > Grub-devel mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> >
>
>
_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel