www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/05/22/02:57:49

From: jih-shin ho <u7711501 AT bicmos DOT ee DOT nctu DOT edu DOT tw>
Subject: Gas 2.1 executable file (Fixed version)
To: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp)
Date: Sat, 22 May 93 13:57:10 EAT

Hi:
  Ther is bug in gas21.zip. It opens object file using 'fopen(name,"r")'.
It can run correctly on unix but not on MSDOS. Now I upload a fixed version,
gas21fix.zip to omnigate.clarkson.edu.

About binutl22.zip:
  Please be careful with 'ld'. If you want to use this 'ld', you must use
the command line as following:
  
     gcc -s ..........

  If you don't use '-s', you will get error message. It seems that there are
some variables in libc.a that are uninitialized but expect 0 as initial
value. This new 'ld' doesn't clear data after data section. So error will
occur. 'strip' is of no use for this problem.

Graphic explanation:

     gcc .........   (without -s)


      ----------------
      |              |
      |    TEXT      |
      |              |
      |              |
      |              |
      ---------------- <-- aligned to page size.
      |              |
      |    DATA      |
      |              |
      |              |
      ================ <-- end of file (with -s option).
      | partial BSS  | <-- contain garbage instead of 0.
      |              |             -------
      ---------------- <-- aligned to page size.(end of file, if you use strip)
      |              |
      |              | <-- symbol table.
      |              |
      ---------------- <-- end of file.


   if you use 'gcc -s ..........' then data section will not align to page
size. This is a big difference between old and new 'ld'.


  -- Jih-Shin Ho

 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019