I found the following variable in .xcompile:
CC:=gcc -Wa,--divide -fno-stack-protector -Wl,--build-id=none
It seems that there is no definition of --divide option for GNU assembler. What is it supposed to do?
Am 04.09.2010 12:52, schrieb ali hagigat:
I found the following variable in .xcompile:
CC:=gcc -Wa,--divide -fno-stack-protector -Wl,--build-id=none
It seems that there is no definition of --divide option for GNU assembler. What is it supposed to do?
It changes the parser behaviour. In some configurations "/" is interpreted as comment, while we need it to be the division operator.
Patrick
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Thank you all for the replies. Peter, the link you wrote is broken! http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Should i execute, util/crossgcc/buildgcc to change and patch the original Linux GCC? That will be all? or I may have to change some other things. Please excuse me if my question is a repeat.
On Sat, Sep 4, 2010 at 5:50 PM, Peter Stuge peter@stuge.se wrote:
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Sun, Sep 5, 2010 at 1:15 AM, ali hagigat hagigatali@gmail.com wrote:
Thank you all for the replies. Peter, the link you wrote is broken! http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Works fine for me:
--divide On SVR4-derived platforms, the character `/' is treated as a comment character, which means that it cannot be used in expressions. The `--divide' option turns `/' into a normal character. This does not disable `/' at the beginning of a line starting a comment, or affect using `#' for starting a comment.
Should i execute, util/crossgcc/buildgcc to change and patch the original Linux GCC?
No, crossgcc should fetch it's own "known good" version of gcc and patch it. Trying to patch some other version of gcc will probably fail.
-Corey
That will be all? or I may have to change some other things. Please excuse me if my question is a repeat.
On Sat, Sep 4, 2010 at 5:50 PM, Peter Stuge peter@stuge.se wrote:
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
Many thanks Corey. The link is OK, i was mistaken. My machine is Linux, Fedora 12, should i execute util/crossgcc/buildgcc to change the GCC of the system? So how util/crossgcc/buildgcc works? because there is already a GCC rpm installed, then it will install another one and the previous version is uninstalled? If I use Fedora 12 GCC, when it executes 'gcc -Wa,--divide" and the option(--divide) is unknown, how come it can compile the files by it without errors?
On Sun, Sep 5, 2010 at 10:00 AM, Corey Osgood corey.osgood@gmail.com wrote:
On Sun, Sep 5, 2010 at 1:15 AM, ali hagigat hagigatali@gmail.com wrote:
Thank you all for the replies. Peter, the link you wrote is broken! http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Works fine for me:
--divide On SVR4-derived platforms, the character `/' is treated as a comment character, which means that it cannot be used in expressions. The `--divide' option turns `/' into a normal character. This does not disable `/' at the beginning of a line starting a comment, or affect using `#' for starting a comment.
Should i execute, util/crossgcc/buildgcc to change and patch the original Linux GCC?
No, crossgcc should fetch it's own "known good" version of gcc and patch it. Trying to patch some other version of gcc will probably fail.
-Corey
That will be all? or I may have to change some other things. Please excuse me if my question is a repeat.
On Sat, Sep 4, 2010 at 5:50 PM, Peter Stuge peter@stuge.se wrote:
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Sun, Sep 5, 2010 at 1:46 AM, ali hagigat hagigatali@gmail.com wrote:
Many thanks Corey. The link is OK, i was mistaken. My machine is Linux, Fedora 12, should i execute util/crossgcc/buildgcc to change the GCC of the system? So how util/crossgcc/buildgcc works? because there is already a GCC rpm installed, then it will install another one and the previous version is uninstalled?
No, the crossgcc toolchin will by default live in ~/xgcc (specified by "TARGETDIR=`pwd`/xgcc", overridden with -D switch). To point to it, you do:
$ PATH="/path/to/coreboot/util/crossgcc/xgcc/bin":$PATH; make
At least I think that's all you've got to do, haven't had to use it yet myself.
-Corey
If I use Fedora 12 GCC, when it executes 'gcc -Wa,--divide" and the option(--divide) is unknown, how come it can compile the files by it without errors?
On Sun, Sep 5, 2010 at 10:00 AM, Corey Osgood corey.osgood@gmail.com wrote:
On Sun, Sep 5, 2010 at 1:15 AM, ali hagigat hagigatali@gmail.com wrote:
Thank you all for the replies. Peter, the link you wrote is broken! http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Works fine for me:
--divide On SVR4-derived platforms, the character `/' is treated as a comment character, which means that it cannot be used in expressions. The `--divide' option turns `/' into a normal character. This does not disable `/' at the beginning of a line starting a comment, or affect using `#' for starting a comment.
Should i execute, util/crossgcc/buildgcc to change and patch the original Linux GCC?
No, crossgcc should fetch it's own "known good" version of gcc and patch it. Trying to patch some other version of gcc will probably fail.
-Corey
That will be all? or I may have to change some other things. Please excuse me if my question is a repeat.
On Sat, Sep 4, 2010 at 5:50 PM, Peter Stuge peter@stuge.se wrote:
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Sun, Sep 5, 2010 at 2:07 AM, Corey Osgood corey.osgood@gmail.com wrote:
On Sun, Sep 5, 2010 at 1:46 AM, ali hagigat hagigatali@gmail.com wrote:
Many thanks Corey. The link is OK, i was mistaken. My machine is Linux, Fedora 12, should i execute util/crossgcc/buildgcc to change the GCC of the system? So how util/crossgcc/buildgcc works? because there is already a GCC rpm installed, then it will install another one and the previous version is uninstalled?
No, the crossgcc toolchin will by default live in ~/xgcc
Sorry, that should have been <current dir>/xgcc
-Corey
(specified by "TARGETDIR=`pwd`/xgcc", overridden with -D switch). To point to it, you do:
$ PATH="/path/to/coreboot/util/crossgcc/xgcc/bin":$PATH; make
At least I think that's all you've got to do, haven't had to use it yet myself.
-Corey
If I use Fedora 12 GCC, when it executes 'gcc -Wa,--divide" and the option(--divide) is unknown, how come it can compile the files by it without errors?
On Sun, Sep 5, 2010 at 10:00 AM, Corey Osgood corey.osgood@gmail.com wrote:
On Sun, Sep 5, 2010 at 1:15 AM, ali hagigat hagigatali@gmail.com wrote:
Thank you all for the replies. Peter, the link you wrote is broken! http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
Works fine for me:
--divide On SVR4-derived platforms, the character `/' is treated as a comment character, which means that it cannot be used in expressions. The `--divide' option turns `/' into a normal character. This does not disable `/' at the beginning of a line starting a comment, or affect using `#' for starting a comment.
Should i execute, util/crossgcc/buildgcc to change and patch the original Linux GCC?
No, crossgcc should fetch it's own "known good" version of gcc and patch it. Trying to patch some other version of gcc will probably fail.
-Corey
That will be all? or I may have to change some other things. Please excuse me if my question is a repeat.
On Sat, Sep 4, 2010 at 5:50 PM, Peter Stuge peter@stuge.se wrote:
ali hagigat wrote:
It seems that there is no definition of --divide option for GNU assembler.
http://sourceware.org/binutils/docs/as/i386_002dOptions.html#i386_002dOption...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
Is there any document or link to explain what changes has been done in GCC, binutils, gdb and it seems all GNU tool chain components have changed! If I do not change GNU tool chain, the final coreboot.rom will be an incorrect image and it can not be run?
Am 05.09.2010 09:00, schrieb ali hagigat:
Is there any document or link to explain what changes has been done in GCC, binutils, gdb and it seems all GNU tool chain components have changed! If I do not change GNU tool chain, the final coreboot.rom will be an incorrect image and it can not be run?
Our changes are minor. The main problem is that distributions (such as the Fedora stuff you use) modify their toolchain a lot - often incompatibly with coreboot.
Patrick
Why the following link does not mention to execute util/crossgcc/buildgcc before doing "make"? http://www.coreboot.org/Build_HOWTO
Anyway I ran util/crossgcc/buildgcc and here is the result:
Welcome to the coresystems cross toolchain builder v1.01 (May 18th, 2010)
Downloading tar balls ... * gmp-5.0.1.tar.bz2 (cached) * mpfr-2.4.2.tar.bz2 (cached) * mpc-0.8.2.tar.gz (cached) * libelf-0.8.13.tar.gz (cached) * gcc-core-4.4.4.tar.bz2 (cached) * binutils-2.20.1.tar.bz2 (downloading) * gdb-7.1.tar.bz2 (downloading) Downloaded tar balls ... ok Unpacking and patching ... * gmp-5.0.1.tar.bz2
bzip2: Compressed file ends unexpectedly; perhaps it is corrupted? *Possible* reason follows. bzip2: Inappropriate ioctl for device Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files.
tar: Child returned status 2 tar: Exiting with failure status due to previous errors * mpfr-2.4.2.tar.bz2 o mpfr-2.4.2_allpatches_20100308.patch * mpc-0.8.2.tar.gz * libelf-0.8.13.tar.gz * gcc-core-4.4.4.tar.bz2
bzip2: Compressed file ends unexpectedly; perhaps it is corrupted? *Possible* reason follows. bzip2: Inappropriate ioctl for device Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files.
tar: Unexpected EOF in archive tar: Unexpected EOF in archive tar: Error is not recoverable: exiting now * binutils-2.20.1.tar.bz2 * gdb-7.1.tar.bz2 Unpacked and patched ... ok Building GMP 5.0.1 ... failed
ali hagigat wrote:
Why the following link does not mention to execute util/crossgcc/buildgcc before doing "make"? http://www.coreboot.org/Build_HOWTO
In a perfect world it would not be neccessary. But unfortunately it seems that many distributions mess up their toolchains.
- gmp-5.0.1.tar.bz2
bzip2: Compressed file ends unexpectedly; perhaps it is corrupted? *Possible* reason follows. bzip2: Inappropriate ioctl for device Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
What part of these messages are difficult to understand?
You can use the -tvv option to test integrity of such files.
Did you do this?
I'm sure you understand that you will annoy a lot of people by sending error messages which include suggestions for further action to the mailing list and expect to get help if you have not tried to take those actions yourself already. I am sure you agree that replies such as my "Did you try the suggestion that was shown?" are not something that the mailing list should be telling you!
//Peter