grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: __stack_chk_fail in regexp is not defined


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: __stack_chk_fail in regexp is not defined
Date: Sun, 10 Nov 2013 13:18:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9

On 10.11.2013 08:35, Andrey Borzenkov wrote:
> В Sun, 10 Nov 2013 09:39:06 +0400
> Andrey Borzenkov <address@hidden> пишет:
> 
>> В Sat, 9 Nov 2013 23:09:35 -0600
>> Glenn Washburn <address@hidden> пишет:
>>
>>> On Sat, 09 Nov 2013 12:37:08 +0100
>>> Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> wrote:
>>>
>>>> On 09.11.2013 05:11, Andrey Borzenkov wrote:
>>>>> В Fri, 8 Nov 2013 14:42:43 -0600
>>>>> Glenn Washburn <address@hidden> пишет:
>>>>>
>>>>>> On Fri, 08 Nov 2013 19:54:43 +0100
>>>>>> Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden> wrote:
>>>>>>
>>>>>>> On 08.11.2013 19:42, Glenn Washburn wrote:
>>>>>>>> Now, I'm getting this error while building.  Bug in the awk
>>>>>>>> script?
>>>>>>>>
>>>>>>>> cat syminfo.lst | sort | gawk
>>>>>>>> -f ./grub.git/grub-core/genmoddep.awk
>>>>>>>>> moddep.lst || (rm -f moddep.lst; exit 1) __stack_chk_fail in
>>>>>>>>> regexp is
>>>>>>>> not defined
>>>>>>>>
>>>>>>> What compiler do you use and which additional options did you
>>>>>>> pass to it? It inserted this function call. We need either to
>>>>>>> provide this function or inhibit compiler from emiting such calls.
>>>>>>
>>>>>> I'm using gcc 4.7 on Ubuntu from the ubuntu-toolchain-r/test ppa.
>>>>>> I do see a reference to __stack_chk_fail at
>>>>>> grub-core/efiemu/runtime/efiemu.c:192.  It doesn't look like that
>>>>>> file is generated.  Perhaps that function was accidentally added
>>>>>> to that file?
>>>>>
>>>>> It comes from using -fstack-protector GCC option. But configure
>>>>> should have added -fno-stack-protector in this case.
>>>>>
>>>>> Could you check defaults using
>>>>>
>>>>> /path/to/your/gcc -Q --help=common
>>>>>
>>>>> whether it is active by default? Also whether -fno-stack-protector
>>>>> was used during compilation?
>>>>>
>>>> You're right.
>>>> @Glenn: can you tell us exact version of GRUB (e.g. git commit) and
>>>> attach config.log?
>>>
>>> The commit for these logs is 9612ebc00ef5f186e9084b60ceeb1606d34f1d23.
>>>
>>> It looks like stack protector is disabled in gcc and I don't believe
>>> that -fno-stack-protector is being used.
>>>
>>
>> Check for -fstack-protector is broken (always fails).
> 
> The problem is this commit:
> 
> commit 24f4e57c4684471da088c504dec0380886eece0c
> Author: Vladimir Serbinenko <address@hidden>
> Date:   Thu Nov 7 03:17:37 2013 +0100
> 
>         * configure.ac: Prevent cflags leaking to subsequent tests by always
>         resetting cflags to target_cflags in target tests.
> 
> It removed restoring of CFLAGS causing leakage of temporary CFLAGS into
> subsequent tests that do not explicitly reset CFLAGS. This is also broke 
> efiemu tests:
> 
> efiemu runtime: No (cannot compile with -m64 -mcmodel=large -mno-red-zone 
> -nostdlib)
> 
> And reason why all tests fail
> 
> gcc ... -march=i386 -m32 -mrtd -mregparm=3 -falign-jumps=1
> -falign-loops=1 -falign-functions=1 -freg-struct-return -mno-mmx -mno-sse 
> -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m64 
> -mcmodel=large -mno-red-zone -nostdlib -Wall -W '-I$(top_srcdir)/include' 
> '-I$(top_builddir)/include' -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC 
> -DGRUB_TARGET_CPU_I386=1 conftest.c -S -fstack-protector -o conftest.s
> conftest.c:1:0: error: CPU you selected does not support x86-64 instruction 
> set
> conftest.c:1:0: error: CPU you selected does not support x86-64 instruction 
> set
> conftest.c:1:0: warning: -mregparm is ignored in 64-bit mode [enabled by 
> default]
> 
> CFLAGS need to be preserved and restored around all compiler flag tests; or 
> all tests need to explicitly set them.
> 
Fixed, thanks for spotting those tests.
> 
> 
> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]