Hi,
the issue sounded more like a problem of the wrapper removing options inside
the chromium build.
The compiler always supports all possible optimisations no matter how it is
build:
chroot build/reference-9.0-svn-reference-x86-pentiumpro-linux/
gcc -march=corei7 -mavx2 hello.c
./a.out
Hello World! (A simple C program.)
So if this fails in some chromium build then likely because either T2 removes
argument options like this, or there is 64bit inline assembly the 32bit
compiler will not accept.
Greetings,
René
On 16 Jan 2018, at 00:46, Toan Pham <[email protected]> wrote:
>
> Rene,
>
> I understand how the wrapper work. It is a really good tool to inject custom
> cflags and cxxflags to gcc compiler.
>
> My question was more like how gcc code generation work. Please see the link
> below because I decided to ask the question on gcc-help mailing list instead.
>
>
> https://www.spinics.net/lists/gcchelp/msg47824.html
>
>
>
> >> Btw. do you plan to chafe the chromium package you are working on? ;-)
>
> I just got qt-5.10 to build w/ webengine support, specifically for pentium4.
> The work detail was discussed here:
> https://www.mail-archive.com/[email protected]/msg30524.html
>
> There were a few challenges to be able to build it natively on x86_32bit, ie
> 8GIG memory + alot of disk space. Whoever is interested in getting webengine
> to run, he/she can following instructions provided in the above URL.
>
> TP
>
>
>
>
>
>
> On Mon, Jan 8, 2018 at 5:18 PM, René Rebe <[email protected]> wrote:
> Hi,
>
> because all the Makefiles and such historically mess with CFLAGS and such, T2
> is using those gcc wrapper to automatically filter the options.
> The wrappers therefore by default remove other -m* opts and inject what is
> configured in T2 (as you ask for pentium4).
>
> If you want chromium to mess with the compiler options you could set
> GCC_WRAPPER_BYPASS=1 or remove the -m* options from the GCC_WRAPPER_REMOVE
> list.
>
> Btw. do you plan to chafe the chromium package you are working on? ;-)
>
> René
>
> On 08 Jan 2018, at 21:55, Toan Pham <[email protected]> wrote:
>
>>
>>
>>
>> Rene,
>>
>> I am working on building chromium webengine w/ a t2 compiler that was
>> configured and optimized for pentium4. The detail of the compile is shown
>> at the end of this email, version 4.8.5 w/o support for SSE3>= and AVX and
>> AVX2. The problem I am having is that Chromium (libvpx) requires that the
>> compiler to support AVX+AVX2, so that those features can detected at
>> build-time and runtime. I've tried to reconfigured gcc wrapper (see below)
>> to support a newer architecture in hope that the compiler would be able to
>> build AVX+AVX2 instructions; however, compile still failed to
>> recognize/compile AVX assembly code.
>>
>>
>> GCC_WRAPPER_DEBUG=1 GCC_WRAPPER_INSERT="-march=corei7 -mtune=corei7 -Os
>> -mssse3 -mavx -mavx2 -mpreferred-stack-boundary=7"
>> GCC_WRAPPER_REMOVE="-I/usr/local/include -I/usr/include -O -O[0-9s] -mtune*
>> -march* -mcpu* -Werror -g*" GCC_WRAPPER_APPEND="-s
>> */X11R6/include?-I/usr/X11R7/include */X11R6/lib?-L/usr/X11R7/lib
>> */X11R6/lib64?-L/usr/X11R7/lib -mavx -mavx2" make
>>
>>
>> My question to you is that: is it true that once GCC is built w/ option
>> "-with-arch=pentium4", it is not possible to tell gcc to build machine code
>> for higher architectures with updated cflags like "-march=corei7
>> -mtune=corei7 -mavx -mavx2"? If the answer is yes, then pretty much a new
>> 'generic i686' compiler is needed to build chromium.
>>
>> Thanks,
>>
>> TP
>>
>>
>>
>> debug-linux26:[webengine]# gcc -v
>> Using built-in specs.
>> COLLECT_GCC=gcc
>> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-t2-linux-gnu/4.8.5/lto-wrapper
>> Target: i686-t2-linux-gnu
>> Configured with: ../configure --prefix=/usr --bindir=/usr/bin
>> --sbindir=/usr/sbin --libdir=/usr/lib --datadir=/usr/share
>> --includedir=/usr/include --infodir=/usr/info --mandir=/usr/man
>> --sysconfdir=/etc --localstatedir=/var --disable-debug --with-libpam
>> --with-pam --enable-libpam --enable-pam --with-mysql-lib=/usr/lib/mysql
>> --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql
>> --with-mysql-include=/usr/include/mysql --build=i686-t2-linux-gnu
>> --host=i686-t2-linux-gnu --target=i686-t2-linux-gnu
>> --enable-install-libiberty=no --disable-install-libiberty
>> --with-arch=pentium4 --with-arch=pentium4 --enable-__cxa_atexit
>> --disable-checking --disable-bootstrap --disable-libstdcxx-pch
>> --disable-multilib --disable-target-libiberty --with-gnu-as --with-gnu-ld
>> --enable-threads=posix --enable-languages=c,c++,objc,go --enable-shared
>> Thread model: posix
>>
>> -----------------------------------------------------------
>> If you wish to unsubscribe from this mailing, send mail to
>> [email protected] with a subject of: unsubscribe t2
>
> --
> ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
> http://exactcode.com | http://exactscan.com | http://ocrkit.com |
> http://t2-project.org | http://rene.rebe.de
>
>
--
ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
http://exactcode.com | http://exactscan.com | http://ocrkit.com |
http://t2-project.org | http://rene.rebe.de
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2