🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.epoch.misc
Article #1216

Bug in Epoch4.0p2

#1216
From: Jim Russell
Date: Wed, 15 Jul 1992 05:18
79 lines
2591 bytes

(Maybe this is a bug inherited from Emacs?)

sysdep.c uses symbols, TEXT_END and DATA_END that are #defined to 0 in
m-ibm*.h, and #defined to external vars in m-titan.h.
Thus, the statement "extern TEXT_END;" is an error on the ibm machines.

My fix:
    Change the symbols in m-titan.h to TEXT_END_EXT and DATA_END_EXT, and
patch sysdep.c.  To wit:

*** config/m-titan.h~   Tue Jul 14 18:04:33 1992
--- config/m-titan.h    Wed Jul 15 08:49:45 1992
***************
*** 196,203 ****

  /* RMS asked that I create an unextitan, as unexec.c has too many ifdefs already */
  #define UNEXEC unextitan.o
! #define TEXT_END _etext
! #define DATA_END _edata
  #define DATA_SECTION_ALIGNMENT pagemask
  #define TEXT_START 0x400000
  #ifdef __P3__
--- 196,203 ----

  /* RMS asked that I create an unextitan, as unexec.c has too many ifdefs already */
  #define UNEXEC unextitan.o
! #define TEXT_END_EXT _etext
! #define DATA_END_EXT _edata
  #define DATA_SECTION_ALIGNMENT pagemask
  #define TEXT_START 0x400000
  #ifdef __P3__


*** sysdep.c.old        Wed Jul 15 08:41:36 1992
--- sysdep.c    Wed Jul 15 08:53:16 1992
***************
*** 1667,1674 ****
  end_of_text ()
  {
  #ifdef TEXT_END
-   extern TEXT_END;
    return ((char *) TEXT_END);
  #else
  #ifdef __NeXT__
    static int etext;
--- 1667,1676 ----
  end_of_text ()
  {
  #ifdef TEXT_END
    return ((char *) TEXT_END);
+ #elif defined(TEXT_END_EXT)
+   extern TEXT_END_EXT;
+   return ((char *) TEXT_END_EXT);
  #else
  #ifdef __NeXT__
    static int etext;
***************
*** 1690,1697 ****
  end_of_data ()
  {
  #ifdef DATA_END
-   extern DATA_END;
    return ((char *) DATA_END);
  #else
  #ifdef __NeXT__
    static int edata;
--- 1692,1701 ----
  end_of_data ()
  {
  #ifdef DATA_END
    return ((char *) DATA_END);
+ #elif defined(DATA_END_EXT)
+   extern DATA_END_EXT;
+   return ((char *) DATA_END_EXT);
  #else
  #ifdef __NeXT__
    static int edata;
Technical Details
Message-ID: <9207151318.AA24682@pequod.watson.ibm.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!ames!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!watson.ibm.com!jrussell

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fc7ee,dd06f6934481aaf1,start
X-Google-Attributes: gidfc7ee,public
X-Google-ArrivalTime: 1992-07-15 02:20:52 PST
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!ames!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!watson.ibm.com!jrussell
From: jrussell@watson.ibm.com (Jim Russell)
Newsgroups: gnu.epoch.misc
Subject: Bug in Epoch4.0p2
Message-ID: <9207151318.AA24682@pequod.watson.ibm.com>
Date: 15 Jul 92 05:18:00 GMT
Sender: daemon@cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 79