public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
To: egcs@egcs.cygnus.com
Cc: egcs-patches@egcs.cygnus.com
Subject: Re: egcs and Linux kernels
Date: Wed, 31 Mar 1999 23:46:00 -0000	[thread overview]
Message-ID: <Pine.BSF.4.10.9903102124440.50194-100000@alkaid.dbai.tuwien.ac.at> (raw)
Message-ID: <19990331234600.V1jrUyWSiIOeOTX941QC82ZPjgJ5DMVKbAc0ZMQIS3g@z> (raw)
In-Reply-To: <199903101527.KAA15375@blastula.phys.columbia.edu>

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.


  parent reply	other threads:[~1999-03-31 23:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-10  7:13 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 [this message]
1999-03-31 23:46         ` Gerald Pfeifer
1999-03-31 23:46     ` Zack Weinberg
1999-03-31 23:46 ` Gerald Pfeifer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.BSF.4.10.9903102124440.50194-100000@alkaid.dbai.tuwien.ac.at \
    --to=pfeifer@dbai.tuwien.ac.at \
    --cc=egcs-patches@egcs.cygnus.com \
    --cc=egcs@egcs.cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).