Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #6994 > unrolled thread

own linking format

Started byfir <profesor.fir@gmail.com>
First post2016-11-18 09:18 -0800
Last post2016-11-21 04:58 -0800
Articles 2 — 2 participants

Back to article view | Back to comp.programming


Contents

  own linking format fir <profesor.fir@gmail.com> - 2016-11-18 09:18 -0800
    Re: own linking format Ed Prochak <edprochak@gmail.com> - 2016-11-21 04:58 -0800

#6994 — own linking format

Fromfir <profesor.fir@gmail.com>
Date2016-11-18 09:18 -0800
Subjectown linking format
Message-ID<2a62c80b-63a3-4928-b77e-b876e099306a@googlegroups.com>
i consider making my own linking format (equivalent for .o/obj ) 

i think it would be cleaner to work on my own improved one then 
making the converter for windows ones 

i am not asking if this is good idea becouse i think nearly everybody will say this is bad idea - making yet another .obj format :: but it has an adventage my ovn may be clearer and it could be more pleasurable to work on it (finally 
after making it all i could eventually get rid of it) 

the question is how it should look like, as i said in another thread 
i could use some easy convention to deniote blocks in file, 32 bit would be 4 ascii characters for making block signature then next 32 bit would be its 
size, like 

'head', 200, {192 bytes of header block} 
'text', 3000, {2992 bytes of function bodies} 
'data', 400, {392 bytes of preinitialised data} 
'bss ', 100, {92 bytes of static empty arrays descriptions* } 

'relo', 700, {692 bytes of relocation data}  //?? 
'expo', 200, {192 bytes of export data} //?? 
'impo', 200, {192 bytes of import data} // ?? 

* im not quite sure how linkers store it, as an array of consecyutive 
sizes, like {40000, 10000, 1000000} - it would mean 3 static arrays of 
given sizes? 

the question is what is absolutely needed and what can be skipped to make this format totally defined but much clear, 

i would like to produce this as my own c2 compiler/a2 assembler 
output (which will be in a role od static .o module which then by my 
other tool would be converted for mingw compatible .o (32 bit, win mainly 
designed to be linked with winapi environment) 

some thoughts? 

those 'relo','expo', and 'impo' parts are most obscure by now to me 
(i must need to know what exactly putt there and how - some vision?) 

i will think and read on this but some side hints could be helpfull maybe 

[toc] | [next] | [standalone]


#6995

FromEd Prochak <edprochak@gmail.com>
Date2016-11-21 04:58 -0800
Message-ID<c3eb115c-5cd5-421f-aa7b-e901e56011e3@googlegroups.com>
In reply to#6994
On Friday, November 18, 2016 at 12:18:51 PM UTC-5, fir wrote:
> i consider making my own linking format (equivalent for .o/obj ) 
> 
> i think it would be cleaner to work on my own improved one then 
> making the converter for windows ones 
> 
> i am not asking if this is good idea becouse i think nearly everybody will say this is bad idea - making yet another .obj format :: but it has an adventage my ovn may be clearer and it could be more pleasurable to work on it (finally 
> after making it all i could eventually get rid of it) 
> 
> the question is how it should look like, as i said in another thread 
> i could use some easy convention to deniote blocks in file, 32 bit would be 4 ascii characters for making block signature then next 32 bit would be its 
> size, like 
> 
> 'head', 200, {192 bytes of header block} 
> 'text', 3000, {2992 bytes of function bodies} 
> 'data', 400, {392 bytes of preinitialised data} 
> 'bss ', 100, {92 bytes of static empty arrays descriptions* } 
> 
> 'relo', 700, {692 bytes of relocation data}  //?? 
> 'expo', 200, {192 bytes of export data} //?? 
> 'impo', 200, {192 bytes of import data} // ?? 
> 
> * im not quite sure how linkers store it, as an array of consecyutive 
> sizes, like {40000, 10000, 1000000} - it would mean 3 static arrays of 
> given sizes? 
> 
> the question is what is absolutely needed and what can be skipped to make this format totally defined but much clear, 
> 
> i would like to produce this as my own c2 compiler/a2 assembler 
> output (which will be in a role od static .o module which then by my 
> other tool would be converted for mingw compatible .o (32 bit, win mainly 
> designed to be linked with winapi environment) 
> 
> some thoughts? 
> 
> those 'relo','expo', and 'impo' parts are most obscure by now to me 
> (i must need to know what exactly putt there and how - some vision?) 
> 
> i will think and read on this but some side hints could be helpfull maybe

Try looking at some of the open source linkers. (sorry I don't have a
reference handy.)  Having at least some idea of what other tried may
help you avoid some common mistakes.

At least look at common .obj formats.

Just a suggestion.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web