GCC 2.7.2 unable to compile Linux 1.2.13?

GCC 2.7.2 unable to compile Linux 1.2.13?

Post by Arcadio Alivio Since » Thu, 04 Jan 1996 04:00:00



    Are there any problems with GCC v.2.7.2 that I should know about?  I
just installed it and tried to recompile my kernel (v.1.2.13) with it and
I'd get the following errors when it tries to compile "main.c":

/usr/src/linuxelf-1.2.13/include/asm/io.h: In function `copro_timeout':
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h: In function `check_fpu':
/usr/src/linuxelf-1.2.13/include/asm/io.h:78: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:78: inconsistent operand
constraints in an `asm'
/usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
constraints in an `asm'

        However, when I switch back to GCC v.2.7.0 it compiles correctly.

--
==============================================================================
Arcadio Alivio Sincero, Jr.
Sophmore, Computer Science Major at the University of Maryland at College Park

"Save the whales .... collect the whole set!"

 
 
 

GCC 2.7.2 unable to compile Linux 1.2.13?

Post by Patrick Wisema » Tue, 09 Jan 1996 04:00:00



>     Are there any problems with GCC v.2.7.2 that I should know about?  I
> just installed it and tried to recompile my kernel (v.1.2.13) with it and
> I'd get the following errors . . . .

I'm on very thin ice here :) but did you also get the latest binutils
when you upgraded to 2.7.2.  I did (just a few days ago) and have
successfully compiled later kernels than 1.2.13.

Just a thought.

Cheerio
Patrick

 
 
 

GCC 2.7.2 unable to compile Linux 1.2.13?

Post by Tim Segal » Tue, 09 Jan 1996 04:00:00


I had exactly this problem and worked around it :-) by pinching the io.h
from 1.3.52. It then compiled for me.

Hope this helps,



>     Are there any problems with GCC v.2.7.2 that I should know about?  I
> just installed it and tried to recompile my kernel (v.1.2.13) with it and
> I'd get the following errors when it tries to compile "main.c":

> /usr/src/linuxelf-1.2.13/include/asm/io.h: In function `copro_timeout':
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h: In function `check_fpu':
> /usr/src/linuxelf-1.2.13/include/asm/io.h:78: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:78: inconsistent operand
> constraints in an `asm'
> /usr/src/linuxelf-1.2.13/include/asm/io.h:82: inconsistent operand
> constraints in an `asm'

>         However, when I switch back to GCC v.2.7.0 it compiles correctly.

> --
> ==============================================================================
> Arcadio Alivio Sincero, Jr.
> Sophmore, Computer Science Major at the University of Maryland at College Park

> "Save the whales .... collect the whole set!"

--


 
 
 

GCC 2.7.2 unable to compile Linux 1.2.13?

Post by Thomas Sudbr » Tue, 16 Jan 1996 04:00:00




>>     Are there any problems with GCC v.2.7.2 that I should know about?  I
>> just installed it and tried to recompile my kernel (v.1.2.13) with it and
>> I'd get the following errors . . . .
>I'm on very thin ice here :) but did you also get the latest binutils
>when you upgraded to 2.7.2.  I did (just a few days ago) and have
>successfully compiled later kernels than 1.2.13.
>Just a thought.
>Cheerio
>Patrick

You have to modify the file asm/io.h for gcc-2.7.2.  It was done in one of
the 1.3.x kernels.  Replace the lines that produce the error in io.h by the
corresponding ones of the latest kernel, and you should be able to compile
1.2.13 with gcc-2.7.2 again.

Thomas

 
 
 

GCC 2.7.2 unable to compile Linux 1.2.13?

Post by Michele Marzia » Wed, 17 Jan 1996 04:00:00




> You have to modify the file asm/io.h for gcc-2.7.2.  It was done in one of
> the 1.3.x kernels.  Replace the lines that produce the error in io.h by the
> corresponding ones of the latest kernel, and you should be able to compile
> 1.2.13 with gcc-2.7.2 again.

It isn't enough for ELF systems, unfortunately. I got a lot of errors in
the final linking stage when make was trying to create a vmlinux image.

What I had to do to compile my 1.2.13 on my ELF system was to apply the
following patch suggested in the ELF HOWTO:

*** Makefile.orig       Wed Jul 26 08:43:44 1995
--- Makefile    Sun Jan 14 10:35:33 1996
***************
*** 15 ****
! LD    =ld
--- 15 ----
! LD    =ld -m i386linux
***************
*** 17 ****
! CC    =gcc -D__KERNEL__ -I$(TOPDIR)/include
--- 17 ----
! CC    =gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include

This, in practice, makes an a.out kernel and has the major inconvenience
that e.g. an ELF-compiled dosemu emumodule can't be successfully
installed by insmod anymore (the System.map table is in a wrong format).

OTOH, a 1.2.13 kernel with the ELF patches (such as the K series of
Slackware 3) _breaks_ the functioning of the latest libc. Be warned.

--
Michele Marziani
Universita' di Ferrara     *     e-mail:


 
 
 

1. Compiling linux 1.2.13 kernel with gcc 2.7.2

Hi everyone,

I was trying to (re)compile the linux kernel, version 1.2.13
with gcc version 2.7.2.

I got two problems:
        First, I did make to start the compilation process. File init/main.c
        uses include/asm/io.h for which I got the following errors:

/usr/src/linux/include/asm/io.h: In function `copro_timeout':
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h: In function `check_fpu':
/usr/src/linux/include/asm/io.h:78: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:78: inconsistent operand constraints in an `asm'
/usr/src/linux/include/asm/io.h:82: inconsistent operand constraints in an `asm'

        The problem are the macros IN and OUT from io.h. I've solved this problem
        by first preprocessing (option -E), and the compiling the preprocessed
        file.
        Doing it this way, I managed to come to arch/i386/kernel, where I got the
        Second problem:

        When compiling file process.c, I got the following error:

process.c:153: fixed or forbidden register was spilled.
This may be due to a compiler bug or to impossible asm
statements or clauses.

        I was not able to "trick" this one.

Could somebody help me (or at least give me a hint how) to solve the
above problems, or how to easily compile the kernel?

Thank you,
Goce.

2. PPP config problems

3. Troubles compiling Linux kernel 1.2.13 with GCC 2.7.2

4. PPP dial-on-demand / TCP connection setup times out

5. Compiling Linux kernel 1.2.13 and gcc-2.5.8

6. Fun with a Packard Bell.

7. Unable to compile a custom 1.2.13 kernel - contains a captured file - help!

8. Where is the command make

9. Compiling 1.2.13 kernel with RedHat 3.0.3/gcc 2.7.2

10. Problem compiling 1.2.13 with gcc 2.7.0

11. SOLVED: 1.2.13 kernel w/GCC 2.7.0 compile

12. Kernel 1.2.13 and gcc 2.7.0 wont compile

13. Compile Knl 1.2.13 w/GCC 2.7.2 ?