From: David G. <dg...@co...> - 2006-07-22 21:55:52
|
I've been reading the discussion of file formats with a certain amount of= interest, but I suspect people are reading more into it than there actual= ly is... It's worth remembering that the ACK isn't just a toolchain, it's a *platf= orm*. The em specification dictates a certain (flexible) program layout; there'= s even an interpreter that implements the VM. An em program communicates wi= th the outside world via system calls (the MON em opcode; the model is very similar to the way V7 Unix worked, even down to the syscall numbering). T= he ACK comes with its own portable libc that uses these syscalls to do all t= he work; I suspect a lot of the build confusion comes from mistaking headers= intended to be used by programs compiled *by* the ACK with headers used b= y the ACK itself. As a result of this, the ACK knows absolutely nothing about shared librar= ies. However, there's no reason why we have to use the ACK's platform. It's perfectly possible to compile a program referring to headers in /usr/incl= ude, link it with led into a partially linked object file (because led can't l= ink to shared libraries, of course), exporting it to ELF (using a program yet= to be written), and then linking the result to shared libraries using the platform linker. If you do this then you'll lose the portability across platforms that the= ACK was originally aiming for, but frankly, that's not particularly important= these days. I am planning to write two ack.out converters at some point, one for ELF = and one for a simple binary image; however, I don't know a lot about ELF and = so this would require a lot of reading up on... it may be easier instead to persuade someone who knows about such things to add ack.out support to th= e GNU binutils toolchain instead, so that ld can read them in directly. ack.out= doesn't look very complicated. --=20 +- David Given --McQ-+ "Gaping from its single obling socket was | dg...@co... | scintillating, many fauceted scarlet emerald..." | (dg...@ta...) | --- Jim Theis, _The Eye of Argon_ (spelling +- www.cowlark.com --+ original) |