Christian Weisgerber wrote and mailed: > Janjaap van Velthooven <janj...@stack.nl> wrote: > > > For some obscure reason this gave successes. After splitting up > > alpha/rtld_machine.c into 2 or mor parts, any combination where the > > 1st and the 3rd function (_dl_md_reloc and _dl_md_reloc_got) were > > not in the same source allowed the split-up sources to be compiled > > without breaking ld.so. Looking with my untrained eye at the generated > > assembly or the dissasembled objects did not give me any clue as > > to why this was happening.
> I split _dl_md_reloc_got() out into a separate file and compared > the generated assembly language. There are no differences. I also > disassembled the object files, no code differences. I did similar and saw no noticable differences either, other than the address the function was on that is.. > I wonder if ld(1) could be to blame. If so, why would it do that? It should behave the same as when compiled with gcc3 (theoretically at least).. I can think of some theories: - does compiling ld with gcc4 introduce/expose a bug in ld? (I used a gcc4 compiled ld back then) - does the gcc4 compiled rtld_machine.c cause an other codepath than the gcc3 compiled version in ld on which there has always been a bug? Janjaap van Velthooven -- ________________________________________ / __/ /_ / ______/ /_ __/ __/ /___ / / /_ __/___/_/_ /___ / / __/ /___ / / janj...@stack.nl /___/_/_________/_____/_/_/_/_______/_/_/