Thanks Alan,

I will wait a couple of days to give Richard a chance to object. I think I got the address calculation correct, but having another pair of eyes look at it would be nice. I am especially concerned about what happens on IRIX where the symbol comes in from an external object rather than being generated by the linker itself. I had no way to test that.

David Daney


On 12/09/2011 04:39 PM, Alan Modra wrote:
On Fri, Dec 09, 2011 at 12:31:14PM -0800, David Daney wrote:
        * /elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove.
        (mips_elf_link_hash_table.rld_symbol): New field;
        (MIPS_ELF_RLD_MAP_SIZE): New macro.
        (_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol
        in rld_symbol.
        (_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol
        in rld_symbol.
        (_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map.
        (_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling.
        (_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to
        calculate DT_MIPS_RLD_MAP value.
        (_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol,
        quit initializing rld_value.

OK.  Remove stray / in ChangeLog entry

Yes, I noticed that only after hitting Send.


+         s->size += MIPS_ELF_RLD_MAP_SIZE(output_bfd);

Fix formatting here.

+               dyn.d_un.d_ptr = s->output_section->vma + s->output_offset
+                                + h->root.u.def.value;

And it's nice to write code that emacs auto-indent won't change, so
add parentheses

                dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
                                  + h->root.u.def.value);


I will fix those too.




--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to