[Fwd: Getting Object File Information]

From: Bernhard T. <"Bernhard>
Date: Mon, 29 Jan 2001 13:37:15 +0100

-- 
if you want to reach me personally use: BdT{([at]})nowhere.xy

From: reali{([at]})nowhere.xy
X-Mailer: Oberon Mail (ejz) on Aos 09.01.2001
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
References: <3a7208f5{([at]})nowhere.xy
Subject: Re: Getting Object File Information
Newsgroups: comp.lang.oberon
Followup-To: comp.lang.oberon
NNTP-Posting-Host: pookie.inf.ethz.ch
Message-ID: <3a752998{([at]})nowhere.xy
Date: 29 Jan 2001 09:28:08 +0100
X-Trace: 29 Jan 2001 09:28:08 +0100, pookie.inf.ethz.ch
Organization: Swiss Federal Institute of Technology (ETHZ)
Path: lrz.de!uni-erlangen.de!newsfeeds.belnet.be!news.belnet.be!news-ge.switch.ch!news-zh.switch.ch!pfaff.ethz.ch!pookie.inf.ethz.ch
Xref: lrz.de comp.lang.oberon:14401

In article <3a7208f5{([at]})nowhere.xy

> In both Oberon system 3 and 4, there seem to be Object files, and
> according to the documentation they may be native or platform independent.
>
> Is there any way to get extensive debugging information out of an
> Object file? Can I get a disassembly of its contents? If not, is
> there some place where the object file format is discussed so I can
> write a tool of my own?
>

The Native Oberon Object File Format (OFF) is an evolution of the
Windows Oberon OFF and contains some small differencies.
The Symbol File (also included in the same file)
has been extended to fit the Active Oberon and OberonX language
extensions.

Here can find the documentation on it:
http://www.oberon.ethz.ch/native/compiler/
(html, pdf, ps available).

-Patrik



Message-ID: <3a7208f5{([at]})nowhere.xy
From: Eric Scharff <scharffe{([at]})nowhere.xy
Subject: Getting Object File Information
Newsgroups: comp.lang.oberon
Summary:
User-Agent: tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (OSF1/V4.0 (alpha))
NNTP-Posting-Host: gimme.cs.colorado.edu
Date: 26 Jan 2001 16:32:06 -0700
X-Trace: 26 Jan 2001 16:32:06 -0700, gimme.cs.colorado.edu
Path: lrz.de!uni-erlangen.de!news-nue1.dfn.de!news-lei1.dfn.de!news-fra1.dfn.de!news.tele.dk!204.94.211.44!enews.sgi.com!coop.net!cs.colorado.edu!csnews!not-for-mail
Xref: lrz.de comp.lang.oberon:14393

I am interested in looking at the code that is generated by the Oberon
compiler. In particular, I am interested in the PowerPC and the Intel
code generators. However, I do not know how to get information out of
.Obj files.

In both Oberon system 3 and 4, there seem to be Object files, and
according to the documentation they may be native or platform independent.

Is there any way to get extensive debugging information out of an
Object file? Can I get a disassembly of its contents? If not, is
there some place where the object file format is discussed so I can
write a tool of my own?

If this is different on every platform, please point me to relevant
information. I use lots of different versions, including the 68K version
of OberonV4 (the old stuff) and the Windows / PowerMac versions of
OberonV3.2.

Thanks,

-Eric


Path: lrz.de!uni-erlangen.de!newsfeeds.belnet.be!news.belnet.be!newsfeed1.news.nl.uu.net!sun4nl!not-for-mail
Message-ID: <3A722B81.B6960BE9{([at]})nowhere.xy
Date: Sat, 27 Jan 2001 01:59:29 +0000
From: Christof Brass <brass{([at]})nowhere.xy
Organization: InfoPuls
X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.0.36 i586)
X-Accept-Language: de
MIME-Version: 1.0
Newsgroups: comp.lang.oberon
Subject: Re: Getting Object File Information
References: <3a7208f5{([at]})nowhere.xy
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Cache-Post-Path: fuchs.cyberlink.ch!unknown{([at]})nowhere.xy
X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
NNTP-Posting-Host: 193.246.253.18
X-Trace: 980560702 news.ch.uu.net 177 193.246.253.18
Xref: lrz.de comp.lang.oberon:14394

Eric Scharff wrote:
>
> I am interested in looking at the code that is generated by the Oberon
> compiler. In particular, I am interested in the PowerPC and the Intel
> code generators. However, I do not know how to get information out of
> .Obj files.
>
> In both Oberon system 3 and 4, there seem to be Object files, and
> according to the documentation they may be native or platform independent.
>
> Is there any way to get extensive debugging information out of an
> Object file? Can I get a disassembly of its contents? If not, is
> there some place where the object file format is discussed so I can
> write a tool of my own?
>
> If this is different on every platform, please point me to relevant
> information. I use lots of different versions, including the 68K version
> of OberonV4 (the old stuff) and the Windows / PowerMac versions of
> OberonV3.2.
>
> Thanks,
>
> -Eric

I don't have a documentation of the Obj file but if you look at
the compiler sources it should not be a problem. To disassemble
a Obj file is of course a lot more difficult. I remember Michael
Franz using such a tool for the 68k V4 version when I visited
him at the ETH because I found a bug in the generated code. He
disassembled it and read the 68k memos like Oberon source,
changed the compiler and gave me a copy. Done. Not more than 5
minutes. I personally would be very interested in having a
decompiler because I have an old V4 which I tweaked a little bit
but the ETH is not able to provide all the sources. I'm in
contact with the ETH since October 2000.

You are right: there are two types of Obj files. The current
standard is that the compiler produces portable object format as
long as you don't import pseudo module SYSTEM.

Do you have complete source sets of the systems you are using?

The Obj file formats are as far as I know very similar on each
platform.
If you look in module System where the trap viewer code is
located you can derive a little bit how debugging information is
extracted. On some if not many or even all systems there is a
compiler switch to enable generation of debugging information.

Why do you need this information anyway?


Sender: Eric Scharff <scharffe{([at]})nowhere.xy
Message-ID: <3a749474{([at]})nowhere.xy
From: Eric Scharff <sXcXhXaXrXfXfe{([at]})nowhere.xy
Subject: Re: Getting Object File Information
Newsgroups: comp.lang.oberon
References: <3a7208f5{([at]})nowhere.xy
User-Agent: tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (OSF1/V4.0 (alpha))
NNTP-Posting-Host: gimme.cs.colorado.edu
Date: 28 Jan 2001 14:51:48 -0700
X-Trace: 28 Jan 2001 14:51:48 -0700, gimme.cs.colorado.edu
Path: lrz.de!uni-erlangen.de!newsfeeds.belnet.be!news.belnet.be!news.tele.dk!204.94.211.44!enews.sgi.com!coop.net!cs.colorado.edu!csnews!not-for-mail
Xref: lrz.de comp.lang.oberon:14397

Christof Brass <brass{([at]})nowhere.xy
> Do you have complete source sets of the systems you are using?

I don't right now, but I have a lot of them, and can hopefully download
the rest. I'm using the old 68K version of Oberon V4 and the (somewhat
new but still Y2K-buggy) Mac PowerPC version of ETH S3.2. On the Intel
side I'm using the latest Win32 port. So the source ought to be
available somewhere...

I've looked briefly at the compiler sources, but they are somewhat
daunting as they seem rather dense and sparsely commented, but all
the answers should be in there. I'll look at the trap viewer code
as you suggest. It doesn't look like there is any high-level access
to the object file, and as you say it is different on every
platform.

> Why do you need this information anyway?

It is part curiosity and part a little project. I have a little language
and want to write a compiler for it. I thought it might be neat to be
able to output Oberon .Obj files so that the language could integrate
with the rest of the Oberon system.

Thanks for your help,

-Eric
 (Genuine replies, remove X's in email address)


Path: lrz.de!uni-erlangen.de!newsfeeds.belnet.be!news.belnet.be!newsfeed1.news.nl.uu.net!sun4nl!not-for-mail
Message-ID: <3A74A29E.E9953CE3{([at]})nowhere.xy
Date: Sun, 28 Jan 2001 22:52:14 +0000
From: Christof Brass <brass{([at]})nowhere.xy
Organization: InfoPuls
X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.0.36 i586)
X-Accept-Language: de
MIME-Version: 1.0
Newsgroups: comp.lang.oberon
Subject: Re: Getting Object File Information
References: <3a7208f5{([at]})nowhere.xy
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Cache-Post-Path: fuchs.cyberlink.ch!unknown{([at]})nowhere.xy
X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
NNTP-Posting-Host: 193.246.253.18
X-Trace: 980722264 news.ch.uu.net 180 193.246.253.18
Xref: lrz.de comp.lang.oberon:14399

Eric Scharff wrote:
>
> Christof Brass <brass{([at]})nowhere.xy
> > Do you have complete source sets of the systems you are using?
>
> I don't right now, but I have a lot of them, and can hopefully download
> the rest. I'm using the old 68K version of Oberon V4 and the (somewhat
> new but still Y2K-buggy) Mac PowerPC version of ETH S3.2. On the Intel
> side I'm using the latest Win32 port. So the source ought to be
> available somewhere...
>
> I've looked briefly at the compiler sources, but they are somewhat
> daunting as they seem rather dense and sparsely commented, but all
> the answers should be in there. I'll look at the trap viewer code
> as you suggest. It doesn't look like there is any high-level access
> to the object file, and as you say it is different on every
> platform.
>
> > Why do you need this information anyway?
>
> It is part curiosity and part a little project. I have a little language
> and want to write a compiler for it. I thought it might be neat to be
> able to output Oberon .Obj files so that the language could integrate
> with the rest of the Oberon system.
>
> Thanks for your help,
>
> -Eric
> (Genuine replies, remove X's in email address)

Sorry, I've to correct what I said wrt to the Trap Viewer. The
TV code uses in memory information besides that of the Obj file
and of course doesn't disassemble the Obj code.

This is a very good idea to integrate a language that way. The
other way could be to write a translator to Oberon which is then
in turn compiled. That way you only have to write one back-end.

I'm missing a lot of substantial sources from the classical ETH
Oberon V4 distribution. Even the compiler is not there in a
version fitting to the distributed Obj file version of the
compiler. It's a great mess.


From: muller{([at]})nowhere.xy
X-Mailer: Oberon Mail (ejz) on Aos 25.01.2001
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
References: <3a7208f5{([at]})nowhere.xy
Subject: Re: Getting Object File Information
Newsgroups: comp.lang.oberon
Followup-To: comp.lang.oberon
X-Original-NNTP-Posting-Host: wallace.inf.ethz.ch
Message-ID: <3a72c7b7{([at]})nowhere.xy
Date: 27 Jan 2001 14:05:59 +0100
NNTP-Posting-Host: core.inf.ethz.ch
X-Trace: 27 Jan 2001 14:06:00 +0100, core.inf.ethz.ch
Organization: Swiss Federal Institute of Technology (ETHZ)
Path: lrz.de!informatik.tu-muenchen.de!news.csl-gmbh.net!blackbush.xlink.net!news-ge.switch.ch!news-zh.switch.ch!pfaff.ethz.ch!core.inf.ethz.ch!wallace.inf.ethz.ch
Xref: lrz.de comp.lang.oberon:14395

Eric Scharff <scharffe{([at]})nowhere.xy
> I am interested in looking at the code that is generated by the Oberon
> compiler. In particular, I am interested in the PowerPC and the Intel
> code generators. However, I do not know how to get information out of
> .Obj files.

With Native Oberon or Linux Native Oberon you can use the Decoder tool.
Decoder.Decode some.Obj (or call it from the "Browser" popup menu)
produces a text with a code disassembly.

-- Pieter

--
Pieter Muller, Institute for Computer Systems, ETH Zurich
Native Oberon OS: http://www.oberon.ethz.ch/native/


Sender: Eric Scharff <scharffe{([at]})nowhere.xy
Message-ID: <3a74952f{([at]})nowhere.xy
From: Eric Scharff <sZcZhZaZrZfZfZe{([at]})nowhere.xy
Subject: Re: Getting Object File Information
Newsgroups: comp.lang.oberon
References: <3a7208f5{([at]})nowhere.xy
User-Agent: tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (OSF1/V4.0 (alpha))
NNTP-Posting-Host: gimme.cs.colorado.edu
Date: 28 Jan 2001 14:54:55 -0700
X-Trace: 28 Jan 2001 14:54:55 -0700, gimme.cs.colorado.edu
Path: lrz.de!lmu.de!uni-erlangen.de!news-nue1.dfn.de!news-lei1.dfn.de!news-fra1.dfn.de!news.tele.dk!204.94.211.44!enews.sgi.com!coop.net!cs.colorado.edu!csnews!not-for-mail
Xref: lrz.de comp.lang.oberon:14398

muller{([at]})nowhere.xy
> With Native Oberon or Linux Native Oberon you can use the Decoder tool.
> Decoder.Decode some.Obj (or call it from the "Browser" popup menu)
> produces a text with a code disassembly.

Thanks. Sounds like exactly what I need. I'll have to check out PC
Native Oberon.

One concern I had was that I didn't want to partition my hard drive yet
again. I already have Win32 and Linux partitions, and I've been avoiding
backing everything up to do a BeOS installation.

Is there any way to avoid repartitioning? Can LNO or PC oberon re-use
my existing ext2 (Linux) or Fat32 (Win9X) partitions?

-Eric
 (Genuine email replies remove Z's from above address.)


From: muller{([at]})nowhere.xy
X-Mailer: Oberon Mail (ejz) on Aos 25.01.2001
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
References: <3a74952f{([at]})nowhere.xy
Subject: Re (2): Getting Object File Information
Newsgroups: comp.lang.oberon
Followup-To: comp.lang.oberon
X-Original-NNTP-Posting-Host: wallace.inf.ethz.ch
Message-ID: <3a753370{([at]})nowhere.xy
Date: 29 Jan 2001 10:10:08 +0100
NNTP-Posting-Host: core.inf.ethz.ch
X-Trace: 29 Jan 2001 10:10:15 +0100, core.inf.ethz.ch
Organization: Swiss Federal Institute of Technology (ETHZ)
Path: lrz.de!uni-erlangen.de!newsfeeds.belnet.be!news.belnet.be!colt.net!newspeer.clara.net!news.clara.net!Quza.UK.peer!nntp.gblx.net!merapi!news-zh.switch.ch!pfaff.ethz.ch!core.inf.ethz.ch!wallace.inf.ethz.ch
Xref: lrz.de comp.lang.oberon:14402

Eric Scharff <sZcZhZaZrZfZfZe{([at]})nowhere.xy
> One concern I had was that I didn't want to partition my hard drive yet
> again. I already have Win32 and Linux partitions, and I've been avoiding
> backing everything up to do a BeOS installation.
>
> Is there any way to avoid repartitioning? Can LNO or PC oberon re-use
> my existing ext2 (Linux) or Fat32 (Win9X) partitions?

Yes. LNO can, and Native Oberon also.

Check ftp://ftp.inf.ethz.ch/pub/ETHOberon/Native/Dummies/zip/
and http://www.oberon.ethz.ch/dummies/ for a Native Oberon version you
can install in a FAT partition without repartitioning. (Only FAT16 at
the moment, FAT32 support is being implemented).

LNO is at ftp://ftp.inf.ethz.ch/pub/ETHOberon/Native/LinuxBased/

-- Pieter

--
Pieter Muller, Institute for Computer Systems, ETH Zurich
Native Oberon OS: http://www.oberon.ethz.ch/native/
Received on Mon Jan 29 2001 - 12:37:15 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:27:45 UTC