This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: lots of 68k related questions..


> ----- Forwarded message from Doug Evans -----
> Now that I have my cross compiler building, I am still confused by a few
> things.
> 
> Here is my short list of questions:
> 
> 1) What is the difference between coff and aout formats?  Why would
> I want to use one instead of the other?  This is for embedded applications.

The main difference, as far as I know, is that a.out is restricted to three 
sections (text or code, data, and bss), whereas COFF may have an arbitrary 
number of sections. COFF supports greater flexibility in memory configurations.
  A minor difference (a nuisance) is that symbols in a.out are supposed to be 
(standardized?) prefixed by a '_', whereas COFF does not assumed this.
> 
> 2) How/where do I configure my memory map?  Where do I put my initialization
> code? etc?

This depends on the operating system or lack thereof.
  You configure memory using the link editor scripts, which are based on the 
aforementioned sections. This memory may be physical, if you lack MMU 
administration, or logical, if have MMU administration (usually built-in to an 
operating system). That is, in the former case you put code and data to 
absolute positions in main memory, whereas in the latter case you place it 
relative to the logical address space.
  If you lack an operating system the initialization code should be placed in 
the entry point of your application, normally main in a C or C++ program. If 
you have an operating system the initialization may be divided into different 
phases and the operating system determines when to call which initialization 
code. This initialization code is then enclosed in functions, that should 
reside in the same address space as the kernel.
> 
> 3) I got the gdb to build using the patches which should allow it to
> communicate using a BDM port.  How do I build something that gdb can
> read, etc.
> 
> 4) When I fire up gdb I get a memory corruption error.  Is this do
> to my build or is it some know thing about gdb.
> 
> By the way, I am building for red-hat 5.0.  
> gdb-4.16
> gcc 2.7.2.3
> newlib 1.80
> binutils 2.8.1.0.1
> 
> Thanks for any and all help.
> 
> - -Mike Dorin
> 
> - -Mike
> ------- End of forwarded message -------
> 
> ----- End of forwarded message from Doug Evans -----