delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/03/30/10:47:56

From: ian AT cygnus DOT com (Ian Lance Taylor)
Subject: Re: objdump/bfd cygwin32 bug
30 Mar 1998 10:47:56 -0800 :
Message-ID: <199803261834.NAA06217.cygnus.gnu-win32@subrogation.cygnus.com>
References: <199803251706 DOT MAA26060 AT tweedledumb DOT cygnus DOT com>
To: jeffdb AT netzone DOT com (Mikey)
Cc: gnu-win32 AT cygnus DOT com

   From: jeffdbREMOVETHIS AT netzone DOT com (Mikey)
   Date: 11 Mar 1998 08:51:50 -0800

   <bin# objdump --all-headers cygtcl80.dll 1>/dev/null
   BFD: cygtcl80.dll: Unrecognized storage class 0 for *UND* symbol `.rsrc'

   shouldn't this be storage class 1?

No, it should probably be storage class 3.  I've appended a patch
which should fix this.  This patch will be in the next binutils
release.

Ian

Index: coffcode.h
===================================================================
RCS file: /cvs/cvsfiles/devo/bfd/coffcode.h,v
retrieving revision 1.313
diff -u -r1.313 coffcode.h
--- coffcode.h	1998/03/26 16:00:26	1.313
+++ coffcode.h	1998/03/26 18:32:36
@@ -1028,6 +1028,8 @@
      bfd * abfd;
      asection * section;
 {
+  combined_entry_type *native;
+
   section->alignment_power = COFF_DEFAULT_SECTION_ALIGNMENT_POWER;
 
 #ifdef RS6000COFF_C
@@ -1044,9 +1046,21 @@
 
      @@ The 10 is a guess at a plausible maximum number of aux entries
      (but shouldn't be a constant).  */
-  coffsymbol (section->symbol)->native =
-    (combined_entry_type *) bfd_zalloc (abfd,
-					sizeof (combined_entry_type) * 10);
+  native = ((combined_entry_type *)
+	    bfd_zalloc (abfd, sizeof (combined_entry_type) * 10));
+  if (native == NULL)
+    return false;
+
+  /* We don't need to set up n_name, n_value, or n_scnum in the native
+     symbol information, since they'll be overriden by the BFD symbol
+     anyhow.  However, we do need to set the type and storage class,
+     in case this symbol winds up getting written out.  The value 0
+     for n_numaux is already correct.  */
+
+  native->u.syment.n_type = T_NULL;
+  native->u.syment.n_sclass = C_STAT;
+
+  coffsymbol (section->symbol)->native = native;
 
   /* The .stab section must be aligned to 2**2 at most, because
      otherwise there may be gaps in the section which gdb will not
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


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