>Environment: gcc 1.39 and ISC v2.2
You should also mention that you used GAS instead of AS !!!!!!
>ld fatal: cannot combine NOLOAD input sections with other input sections;
>possibly caused by shared library address space overlap
GCC&GAS produce some strange things. They place tooo much into the .bss
section. And that's the real bug !!!
>After a few false starts I used 'dump -hv libX11_s.a' and found out
>that gcc1.39 (at least the version I ported) makes .bss sections for
>uninitialized global data. It seems that pcc on ISCv2.2 does not do this,
>allocating room in .data instead.
GOT IT !!!!! But thats not the fault of gcc, it's the fault of gas.
>Since Thomas did not have lines of the form:
>/**/#address .bss 0xB0800000
>in his libxxx.def files (used for building shared libs) two section entries,
>one for .data and one for .bss, were being put into the shared lib.
1. This would not function, too. I tried it, but there were other bad problems.
2. Now you should also mention, that you created a new data-section for each
shared lib. This means at least 4kBytes additional memory requirement, plus
some addtional memory for the region-table, and the mmu. Now consider an
application like xterm. This one needs libX11, libXext, libXt, libXmu &
libXaw. I.e an addtional memory-overhead of 20k (minimum !!!).
I think this is UNACCEPTABLE !
- Thomas
--
___________________________________________________________________________ ____
E-Mail (domain): ro...@lan.informatik.tu-muenchen.de
UUCP (if above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
famous last words: "diskspace - the final frontier..."