This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Minor changes in generic files for MIPS versioning support
- To: ulfc at calypso dot engr dot sgi dot com
- Subject: Re: Minor changes in generic files for MIPS versioning support
- From: Nick Clifton <nickc at cygnus dot com>
- Date: Sat, 17 Jun 2000 15:08:50 -0700
- CC: binutils at sourceware dot cygnus dot com
Hi Ulf,
: First I have to add four variables to the elf_obj_tdata structure.
: The problem is that I need one virtual text section and one virtual
: data section per BFD now. The symbol versioning is somewhat picky
: about this and will not allow me to reuse the same section symbol.
: This would affect elf-bfd.h like this:
:
: Index: elf-bfd.h
: ===================================================================
: RCS file: /cvs/src/src/bfd/elf-bfd.h,v
: retrieving revision 1.21
: diff -p -r1.21 elf-bfd.h
: *** elf-bfd.h 2000/04/24 07:55:09 1.21
: --- elf-bfd.h 2000/06/16 23:28:27
: *************** struct elf_obj_tdata
: *** 845,850 ****
: --- 845,857 ----
: symbols. */
: boolean bad_symtab;
:
: + /* The Irix 5 support uses two virtual sections, which represent
: + text/data symbols defined in dynamic objects. */
: + asymbol *elf_data_symbol;
: + asymbol *elf_text_symbol;
: + asection *elf_data_section;
: + asection *elf_text_section;
: +
: /* Records the result of `get_program_header_size'. */
: bfd_size_type program_header_size;
This seems to be OK. I would suggest adding the new fields at the end
of the structure, rather than in the middle. (Just from general
paranoia principles, not for any specific reason).
: The second thing I have to do is to add a new argument with a pointer
: bfd_link_info in elf_backend_hide_symbol. For MIPS we have to
: increase the number of local GOT entries when we hide a symbol and
: that information is stored in the section data for the GOT section. I
: will send a patch for this if it's OK.
Sure.
(Note - I am still new at all of this, so if I saying something is OK,
and then it later turns out that I was wrong, please forgive me :-)
Cheers
Nick