[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, .
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ... |
Date: |
Fri, 15 Nov 2013 15:02:11 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9 |
On 15.11.2013 14:43, Andrey Borzenkov wrote:
> В Fri, 15 Nov 2013 13:33:07 +0100
> Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> пишет:
>
>> On 15.11.2013 13:22, Andrey Borzenkov wrote:
>>> В Fri, 15 Nov 2013 12:00:49 +0100
>>> Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> пишет:
>>>
>>>> On 15.11.2013 06:19, Andrey Borzenkov wrote:
>>>>> Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76
>>>>>
>>>>> Building RPM for PPC (32 or 64 bits) I get
>>>>>
>>>>> [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk >
>>>>> moddep.lst || (rm -f moddep.lst; exit 1)
>>>>> [ 187s] __ashldi3 in affs is not defined
>>>>> [ 187s] _restgpr_14_x in affs is not defined
>>>>> [ 187s] _restgpr_20_x in affs is not defined
>>>>> [ 187s] _restgpr_25_x in affs is not defined
>>>>> [ 187s] _restgpr_27_x in affs is not defined
>>>>> [ 187s] _restgpr_28_x in affs is not defined
>>>>> [ 187s] _restgpr_30_x in affs is not defined
>>>>> ...
>>>>>
>>>>> for a long list of them.
>>>>>
>>>>> Full build logs are available as
>>>>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log
>>>>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log
>>>>>
>>>>> I do not myself have access to any PPC system nor any experience with
>>>>> them.
>>>>>
>>>> You don't have multilib installed.
>>>
>>> Could you elaborate? This is native build on PPC system. It has both 64
>>> and 32 bit of gcc and libgcc installed:
>>>
>>> [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1
>>> ########################################
>>> [ 10s] libgcc_s1-4.8.1_20130909-5.1
>>> ########################################
>>> [ 17s] gcc48-4.8.1_20130909-5.1
>>> ########################################
>>> [ 17s] gcc48-32bit-4.8.1_20130909-5.1
>>> ########################################
>>>
>>> This did build successfully until some recent changes (grub2 *is* part
>>> of openSUSE for PPC). I compared logs for x86 and ppc and both say
>>>
>>> [ 119s] checking for __bswapsi2... no
>>> [ 119s] checking for __bswapdi2... no
>>> [ 119s] checking for __ashldi3... no
>>> [ 120s] checking for __ashrdi3... no
>>> [ 120s] checking for __lshrdi3... no
>>> [ 120s] checking for __ucmpdi2... no
>>> [ 120s] checking for _restgpr_14_x... no
>>>
>>> unfortunately I'm stuck here. For all I can tell it should either fail
>>> or succeed in both cases.
>>>
>> It should say all "no" on x86 and almost all "yes" on ppc. This output
>> indicates that link with libgcc failed. You can look how exactly the
>> test failed in config.log. Can you send me config.log ?
>
> Initially it failed due to missing -lc. After adding glibc-devel-static
> to buildrequires it now fails due to redefined abort:
>
> [ 121s] configure:25260: checking for __bswapsi2
> [ 121s] configure:25260: gcc -o conftest -Os -Wall -W -Wshadow
> -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Wattributes
> -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization
> -Wdiv-by-zero -Wendif-labels -Wfloat-equal -Wformat-extra-args
> -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration
> -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain
> -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute
> -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith
> -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare
> -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused
> -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value
> -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings
> -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls
> -Wmissing-prototypes -Wmissing-declarations -Wcast-align -m32 -freg-struct-
return -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -fno-stack-protector
-Wl,--defsym,abort=main -Wall -W -I$(top_srcdir)/include
-I$(top_builddir)/include -DGRUB_MACHINE_IEEE1275=1
-DGRUB_MACHINE=POWERPC_IEEE1275 -DGRUB_TARGET_CPU_POWERPC=1 -m32 -static -m32
conftest.c -lgcc >&5
> [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype
> [-Wstrict-prototypes]
> [ 121s] char __bswapsi2 ();
> [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype
> [-Wstrict-prototypes]
> [ 121s] char __bswapsi2 ();
> [ 121s] ^
> [ 121s]
> /usr/lib/gcc/powerpc64-suse-linux/4.8/../../../../lib/libc.a(abort.o): In
> function `abort':
> [ 121s] /home/abuild/rpmbuild/BUILD/glibc-2.18/stdlib/abort.c:51: multiple
> definition of `abort'
> [ 121s] collect2: error: ld returned 1 exit status
>
Try this:
diff --git a/configure.ac b/configure.ac
index 2c4f019..cd96588 100644
--- a/configure.ac
+++ b/configure.ac
@@ -821,6 +821,8 @@ CFLAGS="$TARGET_CFLAGS -Wl,--defsym,abort=main"
fi
fi
+CFLAGS="$CFLAGS -nostdlib"
+
# Check for libgcc symbols
AC_CHECK_FUNCS(__bswapsi2 __bswapdi2 __ashldi3 __ashrdi3 __lshrdi3
__ucmpdi2 _restgpr_14_x)
>
> -static is added by grub2.spec. I'm not sure, why - is it really needed?
>
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
signature.asc
Description: OpenPGP digital signature
- PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Andrey Borzenkov, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Vladimir 'φ-coder/phcoder' Serbinenko, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Andrey Borzenkov, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Vladimir 'φ-coder/phcoder' Serbinenko, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Andrey Borzenkov, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...,
Vladimir 'φ-coder/phcoder' Serbinenko <=
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Andrey Borzenkov, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Vladimir 'φ-coder/phcoder' Serbinenko, 2013/11/15
- Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ..., Andrey Borzenkov, 2013/11/15
- [PATCH] restore -nostdlib for libgcc symbols tests, Andrey Borzenkov, 2013/11/15
- Re: [PATCH] restore -nostdlib for libgcc symbols tests, Vladimir 'φ-coder/phcoder' Serbinenko, 2013/11/16