Dňa pi 18. 5. 2018, 18:51 Filip Banák <filip.banak...@gmail.com> napísal(a):

> Hi again!
> I think I finally got it right.
> What I needed to do was to execute:
> *"export CFLAGS=-march=corei7-avx -mno-avx -mno-aes"*
> Then apply the patches specified in the lfs book in libffi step.
> Then do *./configure --prefix=/usr --disable-static
> --with-gcc-arch=corei7-avx*
> Then *make*
> And *make check* passed all of the tests.
>
> So it was just that I needed to set CFLAGS before configure.
> It also works when i do *./configure --prefix=/usr --disable-static*
> (when i do not specify the arch in configure).
>
> Then i just unset CFLAGS. Continued with the book. Meson built successfuly.
>
> Thanks so much !
>
> pi 18. 5. 2018 o 17:44 Filip Banák <filip.banak...@gmail.com> napísal(a):
>
>> Hello!
>>
>> This is the output of ./configure from config.log >>
>> configure:16308: checking for gcc architecture flag
>> configure:16310: result:
>> configure:16332: checking for x86 cpuid 0 output
>> configure:16361: gcc -o conftest -O3 -fomit-frame-pointer
>> -fstrict-aliasing -ffast-math   conftest.c  >&5
>> configure:16361: $? = 0
>> configure:16361: ./conftest
>> configure:16361: $? = 0
>> configure:16371: result: d:756e6547:6c65746e:49656e69
>> configure:16387: checking for x86 cpuid 1 output
>> configure:16416: gcc -o conftest -O3 -fomit-frame-pointer
>> -fstrict-aliasing -ffast-math   conftest.c  >&5
>> configure:16416: $? = 0
>> configure:16416: ./conftest
>> configure:16416: $? = 0
>> configure:16426: result: 206a7:100800:d9ae3bf:bfebfbff
>> configure:16650: checking whether C compiler accepts -march=corei7-avx
>> configure:16669: gcc -c -O3 -fomit-frame-pointer -fstrict-aliasing
>> -ffast-math  -march=corei7-avx  conftest.c >&5
>> configure:16669: $? = 0
>> configure:16678: result: yes
>> configure:16695: checking for gcc architecture flag
>> configure:16697: result: *-march=corei7-avx*
>> configure:16720: checking whether C compiler accepts -O3
>> -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7-avx
>> configure:16739: gcc -c -O3 -fomit-frame-pointer -fstrict-aliasing
>> -ffast-math -march=corei7-avx  -O3 -fomit-frame-pointer -fstrict-aliasing
>> -ffast-math -march=corei7-avx  conftest.c >&5
>> configure:16739: $? = 0
>> configure:16748: result: yes
>> configure:16781: : CFLAGS="$CFLAGS "
>> configure:16784: $? = 0
>> configure:16799: checking CFLAGS for maximum warnings
>>
>> Console output of make >> make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3
>> -fomit-frame-pointer -fstrict-aliasing -ffast-math *-march=corei7-avx*
>> -Wall -fexceptions' 'CXXFLAGS=-g -O2' 'CFLAGS_FOR_BUILD='
>> 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/bin/install -c'
>> 'INSTALL_DATA=/usr/bin/install -c -m 644' 'INSTALL_PROGRAM=/usr/bin/install
>> -c' 'INSTALL_SCRIPT=/usr/bin/install -c' 'JC1FLAGS=' 'LDFLAGS='
>> 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/sh
>> /sources/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET='
>> 'RUNTESTFLAGS=' 'SHELL=/bin/sh' 'exec_prefix=/usr'
>> 'infodir=/usr/share/info' 'libdir=/usr/lib' 'mandir=/usr/share/man'
>> 'prefix=/usr' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=/usr/bin/ld -m
>> elf_x86_64' 'NM=/usr/bin/nm -B' 'RANLIB=ranlib' 'DESTDIR=' all-recursive
>>
>> So I think it builds with -march=corei7-avx. But my cpu doesn't support
>> avx instructions.
>> I have tried this "./configure --with-gcc-arch=corei7-avx
>> and then add
>> "-mno-avx -mno-aes"
>> to your CFLAGS to remove support for the avx and aes instructions."
>>
>> Like this:
>>
>> ./configure --prefix=/usr --disable-static --with-gcc-arch=corei7-avx
>>
>> Then
>>
>> export "CFLAGS=-mno-avx -mno-aes"
>>
>> Then
>>
>> make
>>
>> But nothing changed
>>
>>
>> pi 18. 5. 2018 o 7:23 Michael Shell <li...@michaelshell.org> napísal(a):
>>
>>> On Thu, 17 May 2018 16:41:12 +0200
>>> Filip Banák <filip.banak...@gmail.com> wrote:
>>>
>>> > => 0x7ffff601dce4 <ffi_closure_alloc+4196>:    vmovq  %r13,%xmm3  <<<
>>>
>>>
>>> OK, good, vmovq is an avx instruction. Your CPU flags don't list avx
>>> capability:
>>>
>>> > Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
>>> > mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
>>> > syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
>>> > xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor
>>> > ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt
>>> > tsc_deadline_timer xsave lahf_lm epb pti tpr_shadow vnmi flexpriority
>>> > ept vpid xsaveopt ibpb ibrs stibp dtherm arat pln pts
>>>
>>> And here
>>> https://en.wikipedia.org/wiki/Advanced_Vector_Extensions
>>> it is stated
>>>   "Note: Not all CPUs from the listed families support AVX.
>>>    Generally, CPUs with the commercial denomination 'Core i3/i5/i7'
>>>    support them, whereas 'Pentium' and 'Celeron' CPUs don't."
>>>
>>> So, libffi has a bug with regard to the configuration of Celeron G530
>>> CPUs. When you build libffi, what do you see it is using for the
>>> gcc -march option? e.g.,
>>>
>>> make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3 -fomit-frame-pointer
>>> -fstrict-aliasing -ffast-math -march=amdfam10  -Wall -fexceptions'
>>> 'CXXFLAGS=-g -O2' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET='
>>>
>>> Inside the libffi source tree there will be an architecture specific
>>> directory "..linux-gnu". Inside there will be a config.log file. In
>>> that file, what does it say on the lines from
>>> "checking for gcc architecture flag"
>>> to
>>> "checking CFLAGS for maximum warnings"
>>>
>>> which corresponds to configure:16308 to configure:16799, approx log
>>> lines 690-716 ?
>>>
>>> This bug should be reported to the libffi developers.
>>> However, in the meantime, ./configure has an architecture override
>>> option: --with-gcc-arch=
>>>
>>> The question then becomes what to put there for your CPU.
>>> Some say it should be pentium4:
>>> https://forums.gentoo.org/viewtopic-t-722765-start-0.html
>>> e.g., ./configure --with-gcc-arch=pentium4
>>>
>>> You could try native and see if gcc gets it right.
>>>
>>> Still others say you should do:
>>> -march=corei7-avx -mtune=corei7-avx -mno-avx -mno-aes
>>>
>>> https://stackoverflow.com/questions/15576817/what-is-the-proper-architecture-specific-options-m-for-sandy-bridge-based-pen/35049035
>>> which would require you to do
>>> ./configure --with-gcc-arch=corei7-avx
>>> and then add
>>> "-mno-avx -mno-aes"
>>> to your CFLAGS to remove support for the avx and aes instructions.
>>>
>>> Do let us know what you tried and how it turned out.
>>>
>>>
>>>   Cheers,
>>>
>>>   Mike
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to