public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* egcs and Linux kernels
@ 1999-03-10  7:13 Gerald Pfeifer
       [not found] ` < Pine.BSF.4.10.9903101606330.44575-100000@alkaid.dbai.tuwien.ac.at >
  1999-03-31 23:46 ` Gerald Pfeifer
  0 siblings, 2 replies; 16+ messages in thread
From: Gerald Pfeifer @ 1999-03-10  7:13 UTC (permalink / raw)
  To: egcs

As I'm not a Linux expert, could someone please help with a FAQ entry
concerning egcs and Linux kernels?

 o Specifically, which version/release of Linux works with which
   version/release of egcs?

 o Even more specifically, how is the situation between egcs 1.1.2 and
   Linux 2.2.x kernels?

We can make this a new entry, or, probably better, adapt the existing 
  http://egcs.cygnus.com/faq.html#linuxkernel
FAQ entry. In any case, that entry could use an update as well.


Patches to the FAQ will be highly welcome, but I can also do the
HTMLification for you.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found] ` < Pine.BSF.4.10.9903101606330.44575-100000@alkaid.dbai.tuwien.ac.at >
@ 1999-03-10  7:27   ` Zack Weinberg
       [not found]     ` < 199903101527.KAA15375@blastula.phys.columbia.edu >
  1999-03-31 23:46     ` Zack Weinberg
  0 siblings, 2 replies; 16+ messages in thread
From: Zack Weinberg @ 1999-03-10  7:27 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: egcs

On Wed, 10 Mar 1999 16:12:50 +0100 (CET), Gerald Pfeifer wrote:
>As I'm not a Linux expert, could someone please help with a FAQ entry
>concerning egcs and Linux kernels?
>
> o Specifically, which version/release of Linux works with which
>   version/release of egcs?
>
> o Even more specifically, how is the situation between egcs 1.1.2 and
>   Linux 2.2.x kernels?

My understanding, which should be confirmed by someone else, such as
Bernd Schmidt:

- 2.0.x and prior kernels should only be compiled with gcc 2.7.x.
- 2.2.x is expected to work with any version of egcs.

- gcc 2.8.1 and egcs (all released versions) may silently generate bad
code for the incorrect asm constructs in old kernels 
- egcs development snapshots will error out rather than accept them.

I'm typing this on a box running 2.2.1 compiled by 1.1.1, which has
had no problems, but it doesn't have any exotic hardware or SMP or
anything.

zw

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]     ` < 199903101527.KAA15375@blastula.phys.columbia.edu >
@ 1999-03-10 11:02       ` Jeffrey A Law
       [not found]         ` < 29373.921092478@hurl.cygnus.com >
  1999-03-31 23:46         ` Jeffrey A Law
  1999-03-10 12:27       ` Gerald Pfeifer
  1 sibling, 2 replies; 16+ messages in thread
From: Jeffrey A Law @ 1999-03-10 11:02 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Gerald Pfeifer, egcs

  In message < 199903101527.KAA15375@blastula.phys.columbia.edu >you write:
  > - 2.0.x and prior kernels should only be compiled with gcc 2.7.x.
Correct.

  > - 2.2.x is expected to work with any version of egcs.
Correct.


  > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
  > code for the incorrect asm constructs in old kernels 
And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
losing due to the incorrect asms.

  > - egcs development snapshots will error out rather than accept them.
Correct.


  > I'm typing this on a box running 2.2.1 compiled by 1.1.1, which has
  > had no problems, but it doesn't have any exotic hardware or SMP or
  > anything.
My SMP box is running 2.2.1 built by egcs-1.1.2-pre3 and my laptop is running
2.1.1 built by egcs-1.1.2-pre2 :-)

jeff

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]         ` < 29373.921092478@hurl.cygnus.com >
@ 1999-03-10 11:05           ` Zack Weinberg
  1999-03-31 23:46             ` Zack Weinberg
  1999-03-10 11:33           ` Joe Buck
  1 sibling, 1 reply; 16+ messages in thread
From: Zack Weinberg @ 1999-03-10 11:05 UTC (permalink / raw)
  To: law; +Cc: Gerald Pfeifer, egcs

On Wed, 10 Mar 1999 12:01:18 -0700, Jeffrey A Law wrote:
>
>  > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
>  > code for the incorrect asm constructs in old kernels 
>And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
>losing due to the incorrect asms.

I originally had a sentence in there saying "gcc-2.7.2 might generate
bad code too, but it's been empirically verified to work" but I
decided it was too confusing.

zw

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]         ` < 29373.921092478@hurl.cygnus.com >
  1999-03-10 11:05           ` Zack Weinberg
@ 1999-03-10 11:33           ` Joe Buck
       [not found]             ` < 199903101931.LAA02190@atrus.synopsys.com >
  1999-03-31 23:46             ` Joe Buck
  1 sibling, 2 replies; 16+ messages in thread
From: Joe Buck @ 1999-03-10 11:33 UTC (permalink / raw)
  To: law; +Cc: zack, pfeifer, egcs

>   > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
>   > code for the incorrect asm constructs in old kernels 
> And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
> losing due to the incorrect asms.

Except that it has been thoroughly tested, and it so happens that at
least if you use the same options the kernel developers used, you don't
get bad code with gcc-2.7.2.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]             ` < 199903101931.LAA02190@atrus.synopsys.com >
@ 1999-03-10 11:35               ` Jeffrey A Law
       [not found]                 ` < 29536.921094521@hurl.cygnus.com >
  1999-03-31 23:46                 ` Jeffrey A Law
  0 siblings, 2 replies; 16+ messages in thread
From: Jeffrey A Law @ 1999-03-10 11:35 UTC (permalink / raw)
  To: Joe Buck; +Cc: zack, pfeifer, egcs

  In message < 199903101931.LAA02190@atrus.synopsys.com >you write:
  > Except that it has been thoroughly tested, and it so happens that at
  > least if you use the same options the kernel developers used, you don't
  > get bad code with gcc-2.7.2.
Right.  Basically when gcc-2.7.2 has generated incorrect code they've tweaked
the asms to work around the problem.  Over time they end up with a set of
asms that generally works with gcc-2.7.2.

However, that does not mean they will consistently work over time -- as the
source around the asm changes, the register allocation and reloading needs
will also change, which may again trigger problems.

jeff

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]                 ` < 29536.921094521@hurl.cygnus.com >
@ 1999-03-10 11:46                   ` Joe Buck
  1999-03-31 23:46                     ` Joe Buck
  0 siblings, 1 reply; 16+ messages in thread
From: Joe Buck @ 1999-03-10 11:46 UTC (permalink / raw)
  To: law; +Cc: jbuck, zack, pfeifer, egcs

> Right.  Basically when gcc-2.7.2 has generated incorrect code they've tweaked
> the asms to work around the problem.  Over time they end up with a set of
> asms that generally works with gcc-2.7.2.
> 
> However, that does not mean they will consistently work over time -- as the
> source around the asm changes, the register allocation and reloading needs
> will also change, which may again trigger problems.

No, because Alan Cox won't release a new 2.0.x kernel until it runs correctly
with gcc-2.7.2.  Problems may be triggered during development, of course.

Kernel and application developers frequently must work with buggy tools,
with incomplete knowledge of how those tools work.  They must work around
the bugs in the compiler, and they won't notice their own bugs if they
don't affect the generated executable.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
       [not found]     ` < 199903101527.KAA15375@blastula.phys.columbia.edu >
  1999-03-10 11:02       ` Jeffrey A Law
@ 1999-03-10 12:27       ` Gerald Pfeifer
  1999-03-31 23:46         ` Gerald Pfeifer
  1 sibling, 1 reply; 16+ messages in thread
From: Gerald Pfeifer @ 1999-03-10 12:27 UTC (permalink / raw)
  To: egcs; +Cc: egcs-patches

On Wed, 10 Mar 1999, Zack Weinberg wrote:
> My understanding, which should be confirmed by someone else, such as
> Bernd Schmidt:

Thanks! Based on Zack's, Jeff's and Joe's remarks I have installed the
following change to our FAQ.

Please review the modified entry carefully and let me know about any
further changes/fixes you'd like to see.

Thanks!
Gerald

Index: faq.html
===================================================================
RCS file: /egcs/carton/cvsfiles/wwwdocs/htdocs/faq.html,v
retrieving revision 1.111
diff -c -3 -p -r1.111 faq.html
*** faq.html	1999/03/10 12:14:16	1.111
--- faq.html	1999/03/10 20:23:57
*************** comp.std.c++ FAQ</a>.
*** 55,61 ****
      <li><a href="#asmclobber">Problems with <tt>Invalid `asm' statement</tt>s</a>
      <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a>
      <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a>
!     <li><a href="#linuxkernel">Problems building Linux kernels</a>  
      <li><a href="#windows">EGCS with Windows</a>  
      <li><a href="#os2">EGCS with OS/2</a>
      <li><a href="#X11R6">How do I compile X11 headers with g++</a>  
--- 55,61 ----
      <li><a href="#asmclobber">Problems with <tt>Invalid `asm' statement</tt>s</a>
      <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a>
      <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a>
!     <li><a href="#linuxkernel">Building Linux kernels</a>  
      <li><a href="#windows">EGCS with Windows</a>  
      <li><a href="#os2">EGCS with OS/2</a>
      <li><a href="#X11R6">How do I compile X11 headers with g++</a>  
*************** make program; however, you may have succ
*** 594,626 ****
  you do not have GNU make available.
  
  <hr>
! <h2><a name="linuxkernel">Problems building Linux kernels</a></h2>
! <p> If you have tried to build a 2.0.xx kernel for Intel machines with
! EGCS, then you are on your own.  The 2.0.xx kernels are to be built only
! with gcc-2.7.2.  They use certain asm constructs which are incorrect, but
! (by accident) happen to work with gcc-2.7.2.  If you insist on building
! 2.0.xx kernels with egcs, you may be interested in this 
! <a href=" http://www.suse.de/~florian/kernel+egcs.html ">patch</a> which
! fixes some of the asm problems.  You will also want to change asm constructs
! to <a href="#asmclobber">avoid clobbering their input operands</a>.
! 
! <p>If you installed a recent binutils/gas snapshot on your GNU/Linux system,
! you may not be able to build the kernel because objdump does not understand
! the "-k" switch.  The solution for this problem is to remove /usr/bin/encaps.
! 
! <p>The reason you must remove /usr/bin/encaps is because it is an obsolete
! program that was part of older binutils distributions; the Linux kernel's
! Makefile looks for this program to decide if you have an old or a new
! binutils.  Problems occur if you installed a new binutils but haven't
! removed encaps, because the Makefile thinks you have the old one.  So zap
! it; trust us, you won't miss it.
  
! <p>You may get errors with the X driver of the form 
  <pre>
  _X11TransSocketUNIXConnect: Can't connect: errno = 111
  </pre>
  
! <p>It's a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c
  does an illegal hack which used to work but is now broken since GCC optimizes
  more aggressively . The newer 2.1.x kernels already have a fix which should
  also work in 2.0.32.
--- 594,627 ----
  you do not have GNU make available.
  
  <hr>
! <h2><a name="linuxkernel">Building Linux kernels</a></h2>
! <p>Linux 2.2.x kernels work with any version of egcs.
  
! <p>If you try to build a 2.0.x kernel for Intel machines with egcs,
! then you are on your own.  The 2.0.x kernels are to be built only with
! gcc 2.7.2.  They use certain <code>asm</code> constructs which are
! incorrect, but (by accident) happen to work with gcc 2.7.2.  If you
! insist on building 2.0.x kernels with egcs, you may be interested in
! this <a href=" http://www.suse.de/~florian/kernel+egcs.html ">patch</a>
! which fixes some of the asm problems.  You will also want to change
! asm constructs to <a href="#asmclobber">avoid clobbering their input
! operands</a>.
! 
! <p>If you installed a recent binutils/gas snapshot on your GNU/Linux
! system, you may not be able to build the kernel because objdump does
! not understand the "-k" switch.  The solution for this problem is to
! remove /usr/bin/encaps.  (This is an obsolete program that was part of
! older binutils distributions; the Linux kernel's Makefile looks for
! this program to decide if you have an old or a new binutils.  Problems
! occur if you installed a new binutils but haven't removed encaps,
! because the Makefile thinks you have the old one.)
! 
! <p>Finally, you may get errors with the X driver of the form 
  <pre>
  _X11TransSocketUNIXConnect: Can't connect: errno = 111
  </pre>
  
! <p>This is a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c
  does an illegal hack which used to work but is now broken since GCC optimizes
  more aggressively . The newer 2.1.x kernels already have a fix which should
  also work in 2.0.32.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 12:27       ` Gerald Pfeifer
@ 1999-03-31 23:46         ` Gerald Pfeifer
  0 siblings, 0 replies; 16+ messages in thread
From: Gerald Pfeifer @ 1999-03-31 23:46 UTC (permalink / raw)
  To: egcs; +Cc: egcs-patches

On Wed, 10 Mar 1999, Zack Weinberg wrote:
> My understanding, which should be confirmed by someone else, such as
> Bernd Schmidt:

Thanks! Based on Zack's, Jeff's and Joe's remarks I have installed the
following change to our FAQ.

Please review the modified entry carefully and let me know about any
further changes/fixes you'd like to see.

Thanks!
Gerald

Index: faq.html
===================================================================
RCS file: /egcs/carton/cvsfiles/wwwdocs/htdocs/faq.html,v
retrieving revision 1.111
diff -c -3 -p -r1.111 faq.html
*** faq.html	1999/03/10 12:14:16	1.111
--- faq.html	1999/03/10 20:23:57
*************** comp.std.c++ FAQ</a>.
*** 55,61 ****
      <li><a href="#asmclobber">Problems with <tt>Invalid `asm' statement</tt>s</a>
      <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a>
      <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a>
!     <li><a href="#linuxkernel">Problems building Linux kernels</a>  
      <li><a href="#windows">EGCS with Windows</a>  
      <li><a href="#os2">EGCS with OS/2</a>
      <li><a href="#X11R6">How do I compile X11 headers with g++</a>  
--- 55,61 ----
      <li><a href="#asmclobber">Problems with <tt>Invalid `asm' statement</tt>s</a>
      <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a>
      <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a>
!     <li><a href="#linuxkernel">Building Linux kernels</a>  
      <li><a href="#windows">EGCS with Windows</a>  
      <li><a href="#os2">EGCS with OS/2</a>
      <li><a href="#X11R6">How do I compile X11 headers with g++</a>  
*************** make program; however, you may have succ
*** 594,626 ****
  you do not have GNU make available.
  
  <hr>
! <h2><a name="linuxkernel">Problems building Linux kernels</a></h2>
! <p> If you have tried to build a 2.0.xx kernel for Intel machines with
! EGCS, then you are on your own.  The 2.0.xx kernels are to be built only
! with gcc-2.7.2.  They use certain asm constructs which are incorrect, but
! (by accident) happen to work with gcc-2.7.2.  If you insist on building
! 2.0.xx kernels with egcs, you may be interested in this 
! <a href=" http://www.suse.de/~florian/kernel+egcs.html ">patch</a> which
! fixes some of the asm problems.  You will also want to change asm constructs
! to <a href="#asmclobber">avoid clobbering their input operands</a>.
! 
! <p>If you installed a recent binutils/gas snapshot on your GNU/Linux system,
! you may not be able to build the kernel because objdump does not understand
! the "-k" switch.  The solution for this problem is to remove /usr/bin/encaps.
! 
! <p>The reason you must remove /usr/bin/encaps is because it is an obsolete
! program that was part of older binutils distributions; the Linux kernel's
! Makefile looks for this program to decide if you have an old or a new
! binutils.  Problems occur if you installed a new binutils but haven't
! removed encaps, because the Makefile thinks you have the old one.  So zap
! it; trust us, you won't miss it.
  
! <p>You may get errors with the X driver of the form 
  <pre>
  _X11TransSocketUNIXConnect: Can't connect: errno = 111
  </pre>
  
! <p>It's a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c
  does an illegal hack which used to work but is now broken since GCC optimizes
  more aggressively . The newer 2.1.x kernels already have a fix which should
  also work in 2.0.32.
--- 594,627 ----
  you do not have GNU make available.
  
  <hr>
! <h2><a name="linuxkernel">Building Linux kernels</a></h2>
! <p>Linux 2.2.x kernels work with any version of egcs.
  
! <p>If you try to build a 2.0.x kernel for Intel machines with egcs,
! then you are on your own.  The 2.0.x kernels are to be built only with
! gcc 2.7.2.  They use certain <code>asm</code> constructs which are
! incorrect, but (by accident) happen to work with gcc 2.7.2.  If you
! insist on building 2.0.x kernels with egcs, you may be interested in
! this <a href=" http://www.suse.de/~florian/kernel+egcs.html ">patch</a>
! which fixes some of the asm problems.  You will also want to change
! asm constructs to <a href="#asmclobber">avoid clobbering their input
! operands</a>.
! 
! <p>If you installed a recent binutils/gas snapshot on your GNU/Linux
! system, you may not be able to build the kernel because objdump does
! not understand the "-k" switch.  The solution for this problem is to
! remove /usr/bin/encaps.  (This is an obsolete program that was part of
! older binutils distributions; the Linux kernel's Makefile looks for
! this program to decide if you have an old or a new binutils.  Problems
! occur if you installed a new binutils but haven't removed encaps,
! because the Makefile thinks you have the old one.)
! 
! <p>Finally, you may get errors with the X driver of the form 
  <pre>
  _X11TransSocketUNIXConnect: Can't connect: errno = 111
  </pre>
  
! <p>This is a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c
  does an illegal hack which used to work but is now broken since GCC optimizes
  more aggressively . The newer 2.1.x kernels already have a fix which should
  also work in 2.0.32.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 11:33           ` Joe Buck
       [not found]             ` < 199903101931.LAA02190@atrus.synopsys.com >
@ 1999-03-31 23:46             ` Joe Buck
  1 sibling, 0 replies; 16+ messages in thread
From: Joe Buck @ 1999-03-31 23:46 UTC (permalink / raw)
  To: law; +Cc: zack, pfeifer, egcs

>   > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
>   > code for the incorrect asm constructs in old kernels 
> And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
> losing due to the incorrect asms.

Except that it has been thoroughly tested, and it so happens that at
least if you use the same options the kernel developers used, you don't
get bad code with gcc-2.7.2.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 11:46                   ` Joe Buck
@ 1999-03-31 23:46                     ` Joe Buck
  0 siblings, 0 replies; 16+ messages in thread
From: Joe Buck @ 1999-03-31 23:46 UTC (permalink / raw)
  To: law; +Cc: jbuck, zack, pfeifer, egcs

> Right.  Basically when gcc-2.7.2 has generated incorrect code they've tweaked
> the asms to work around the problem.  Over time they end up with a set of
> asms that generally works with gcc-2.7.2.
> 
> However, that does not mean they will consistently work over time -- as the
> source around the asm changes, the register allocation and reloading needs
> will also change, which may again trigger problems.

No, because Alan Cox won't release a new 2.0.x kernel until it runs correctly
with gcc-2.7.2.  Problems may be triggered during development, of course.

Kernel and application developers frequently must work with buggy tools,
with incomplete knowledge of how those tools work.  They must work around
the bugs in the compiler, and they won't notice their own bugs if they
don't affect the generated executable.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 11:05           ` Zack Weinberg
@ 1999-03-31 23:46             ` Zack Weinberg
  0 siblings, 0 replies; 16+ messages in thread
From: Zack Weinberg @ 1999-03-31 23:46 UTC (permalink / raw)
  To: law; +Cc: Gerald Pfeifer, egcs

On Wed, 10 Mar 1999 12:01:18 -0700, Jeffrey A Law wrote:
>
>  > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
>  > code for the incorrect asm constructs in old kernels 
>And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
>losing due to the incorrect asms.

I originally had a sentence in there saying "gcc-2.7.2 might generate
bad code too, but it's been empirically verified to work" but I
decided it was too confusing.

zw

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 11:02       ` Jeffrey A Law
       [not found]         ` < 29373.921092478@hurl.cygnus.com >
@ 1999-03-31 23:46         ` Jeffrey A Law
  1 sibling, 0 replies; 16+ messages in thread
From: Jeffrey A Law @ 1999-03-31 23:46 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Gerald Pfeifer, egcs

  In message < 199903101527.KAA15375@blastula.phys.columbia.edu >you write:
  > - 2.0.x and prior kernels should only be compiled with gcc 2.7.x.
Correct.

  > - 2.2.x is expected to work with any version of egcs.
Correct.


  > - gcc 2.8.1 and egcs (all released versions) may silently generate bad
  > code for the incorrect asm constructs in old kernels 
And "gcc-2.7.2".  There's nothing magical about gcc-2.7.2 that prevents it
losing due to the incorrect asms.

  > - egcs development snapshots will error out rather than accept them.
Correct.


  > I'm typing this on a box running 2.2.1 compiled by 1.1.1, which has
  > had no problems, but it doesn't have any exotic hardware or SMP or
  > anything.
My SMP box is running 2.2.1 built by egcs-1.1.2-pre3 and my laptop is running
2.1.1 built by egcs-1.1.2-pre2 :-)

jeff

^ permalink raw reply	[flat|nested] 16+ messages in thread

* egcs and Linux kernels
  1999-03-10  7:13 egcs and Linux kernels Gerald Pfeifer
       [not found] ` < Pine.BSF.4.10.9903101606330.44575-100000@alkaid.dbai.tuwien.ac.at >
@ 1999-03-31 23:46 ` Gerald Pfeifer
  1 sibling, 0 replies; 16+ messages in thread
From: Gerald Pfeifer @ 1999-03-31 23:46 UTC (permalink / raw)
  To: egcs

As I'm not a Linux expert, could someone please help with a FAQ entry
concerning egcs and Linux kernels?

 o Specifically, which version/release of Linux works with which
   version/release of egcs?

 o Even more specifically, how is the situation between egcs 1.1.2 and
   Linux 2.2.x kernels?

We can make this a new entry, or, probably better, adapt the existing 
  http://egcs.cygnus.com/faq.html#linuxkernel
FAQ entry. In any case, that entry could use an update as well.


Patches to the FAQ will be highly welcome, but I can also do the
HTMLification for you.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10 11:35               ` Jeffrey A Law
       [not found]                 ` < 29536.921094521@hurl.cygnus.com >
@ 1999-03-31 23:46                 ` Jeffrey A Law
  1 sibling, 0 replies; 16+ messages in thread
From: Jeffrey A Law @ 1999-03-31 23:46 UTC (permalink / raw)
  To: Joe Buck; +Cc: zack, pfeifer, egcs

  In message < 199903101931.LAA02190@atrus.synopsys.com >you write:
  > Except that it has been thoroughly tested, and it so happens that at
  > least if you use the same options the kernel developers used, you don't
  > get bad code with gcc-2.7.2.
Right.  Basically when gcc-2.7.2 has generated incorrect code they've tweaked
the asms to work around the problem.  Over time they end up with a set of
asms that generally works with gcc-2.7.2.

However, that does not mean they will consistently work over time -- as the
source around the asm changes, the register allocation and reloading needs
will also change, which may again trigger problems.

jeff

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: egcs and Linux kernels
  1999-03-10  7:27   ` Zack Weinberg
       [not found]     ` < 199903101527.KAA15375@blastula.phys.columbia.edu >
@ 1999-03-31 23:46     ` Zack Weinberg
  1 sibling, 0 replies; 16+ messages in thread
From: Zack Weinberg @ 1999-03-31 23:46 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: egcs

On Wed, 10 Mar 1999 16:12:50 +0100 (CET), Gerald Pfeifer wrote:
>As I'm not a Linux expert, could someone please help with a FAQ entry
>concerning egcs and Linux kernels?
>
> o Specifically, which version/release of Linux works with which
>   version/release of egcs?
>
> o Even more specifically, how is the situation between egcs 1.1.2 and
>   Linux 2.2.x kernels?

My understanding, which should be confirmed by someone else, such as
Bernd Schmidt:

- 2.0.x and prior kernels should only be compiled with gcc 2.7.x.
- 2.2.x is expected to work with any version of egcs.

- gcc 2.8.1 and egcs (all released versions) may silently generate bad
code for the incorrect asm constructs in old kernels 
- egcs development snapshots will error out rather than accept them.

I'm typing this on a box running 2.2.1 compiled by 1.1.1, which has
had no problems, but it doesn't have any exotic hardware or SMP or
anything.

zw

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~1999-03-31 23:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-10  7:13 egcs and Linux kernels Gerald Pfeifer
     [not found] ` < Pine.BSF.4.10.9903101606330.44575-100000@alkaid.dbai.tuwien.ac.at >
1999-03-10  7:27   ` Zack Weinberg
     [not found]     ` < 199903101527.KAA15375@blastula.phys.columbia.edu >
1999-03-10 11:02       ` Jeffrey A Law
     [not found]         ` < 29373.921092478@hurl.cygnus.com >
1999-03-10 11:05           ` Zack Weinberg
1999-03-31 23:46             ` Zack Weinberg
1999-03-10 11:33           ` Joe Buck
     [not found]             ` < 199903101931.LAA02190@atrus.synopsys.com >
1999-03-10 11:35               ` Jeffrey A Law
     [not found]                 ` < 29536.921094521@hurl.cygnus.com >
1999-03-10 11:46                   ` Joe Buck
1999-03-31 23:46                     ` Joe Buck
1999-03-31 23:46                 ` Jeffrey A Law
1999-03-31 23:46             ` Joe Buck
1999-03-31 23:46         ` Jeffrey A Law
1999-03-10 12:27       ` Gerald Pfeifer
1999-03-31 23:46         ` Gerald Pfeifer
1999-03-31 23:46     ` Zack Weinberg
1999-03-31 23:46 ` Gerald Pfeifer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).