[project @ 2002-01-23 11:29:12 by sewardj]
authorsewardj <unknown>
Wed, 23 Jan 2002 11:29:12 +0000 (11:29 +0000)
committersewardj <unknown>
Wed, 23 Jan 2002 11:29:12 +0000 (11:29 +0000)
commit830c1108833bbdfb9eb1309bd136aedf0b7d141f
tree18379c0fcdbdcf3cbdd649f759a8b24d37f22f40
parentc8d8954070a9ed49b1a2c9aeed0662c5dc19ff58
[project @ 2002-01-23 11:29:12 by sewardj]
Fix two problems with the ELF linker:

1.  Determine section attributes by examining various bits in the
    section header tables, rather than from the section names.  This
    makes it robust against future changes / additions to the set of
    section names.

2.  Handle local symbols differently.  Do not add them to our own
    local symbol table for this object, since that's

    (a) wrong -- multiple local symbols can have the same name so long
        as each is in a different section, so if we just dump them into
        the local symbol table we'll wind up with apparently duplicate
        symbols

    (b) totally unnecessary, since the relocations against local symbols
        simply specify an index into the ELF symbol table for the object,
        from whence the address can be calculated without reference to the
        name.

TODO: Test on sparc-solaris
      Investigate whether PEi386 linker needs fixing similarly
and then
MERGE TO STABLE
ghc/rts/Linker.c