delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/01/07/10:17:13

From: "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be>
To: <djgpp-workers AT delorie DOT com>
Subject: RE: Backslashes in debug info
Date: Sun, 7 Jan 2001 16:17:49 +0100
Message-ID: <NEBBIOJNGMKPNOBKHCGHAEGOCAAA.tim.van.holder@pandora.be>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
In-Reply-To: <Pine.SUN.3.91.1010107134545.25836C-100000@is>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id KAA23565
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

OK - I got bnu210b.zip.

Made another simple source:
int
main(void)
{
  return 0;
}

And used gcc to assemble it, once with -gcoff, once with -gstabs

Used my as and the one from bnu210 to make objects, used bnu210's
objdump on all of them (*210.o are the ones built with bnu210's as)
and got the output below.
As you can see, truncation happens only with coff, and only with
the one from bnu210. So it's definitely an as problem; my guess
is that my as is/isn't a BFD assembler and bnu210's isn't/is.

== output starts here
coff.o:     file format coff-go32

H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c:
typedef void void;
typedef int32 int;
int _main ()
{ /* 0x0 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 4 addr 0x3 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 5 addr 0x7 */
} /* 0xa */

coff210.o:     file format coff-go32

H:\Tmp\Source\:
typedef void void;
typedef int32 int;
int _main ()
{ /* 0x0 */
  /* file H:\Tmp\Source\ line 4 addr 0x3 */
  /* file H:\Tmp\Source\ line 5 addr 0x7 */
} /* 0xa */

stabs.o:     file format coff-go32

H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c:
typedef int32 int;
typedef int8 char;
typedef int32 long int;
typedef uint32 unsigned int;
typedef uint32 long unsigned int;
typedef int64 long long int;
typedef uint64 long long unsigned int;
typedef int16 short int;
typedef uint16 short unsigned int;
typedef int8 signed char;
typedef uint8 unsigned char;
typedef float float;
typedef double double;
typedef float96 long double;
typedef struct %anon1 { /* size 8 */
  int real; /* bitsize 32, bitpos 0 */
  int imag; /* bitsize 32, bitpos 32 */
} complex int;
typedef complex float complex float;
typedef complex double complex double;
typedef complex float96 complex long double;
typedef void void;
int main ()
{ /* 0x0 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 3 addr 0x0 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 4 addr 0x3 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 5 addr 0x7 */
} /* 0xa */

stab210.o:     file format coff-go32

H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c:
typedef int32 int;
typedef int8 char;
typedef int32 long int;
typedef uint32 unsigned int;
typedef uint32 long unsigned int;
typedef int64 long long int;
typedef uint64 long long unsigned int;
typedef int16 short int;
typedef uint16 short unsigned int;
typedef int8 signed char;
typedef uint8 unsigned char;
typedef float float;
typedef double double;
typedef float96 long double;
typedef struct %anon1 { /* size 8 */
  int real; /* bitsize 32, bitpos 0 */
  int imag; /* bitsize 32, bitpos 32 */
} complex int;
typedef complex float complex float;
typedef complex double complex double;
typedef complex float96 complex long double;
typedef void void;
int main ()
{ /* 0x0 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 3 addr 0x0 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 4 addr 0x3 */
  /* file H:\Tmp\Source\web2c-7.3.3\texk\web2c\doc\foo.c line 5 addr 0x7 */
} /* 0xa */

- Raw text -


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