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
 /___/_/_________/_____/_/_/_/_______/_/_/        

Reply via email to