This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Ian, Please find attached patches for Mips implementation of Gold. This is still initial version that is doing linking of simple file. I implemented changes you suggested in your previous mails. Patch is synchronized with GNU Binutils 2.22.51.20111130. There are five patch files: * mips.cc.patch - contains src/gold/mips.cc * mips.h.patch - contains src/elfcpp/mips.h * utils.h.patch - contains src/gold/utils.h * elfcpp.patch - contains changes of all files in src/elfcpp folder (except mips.h) * gold.patch - contains changes of all files in src/gold folder (except mips.cc and utils.h) Thanks in advance for your review, Aleksandar Changes in this version: * mips.h: New file * mips.cc: New file * utils.h: New file that contains utilities for manipulating integers of up to 32-bits. * arm.cc (namespace utils): Removed common code to separate file (utils.h). (utils::sign_extend): Removed. (utils::has_overflow): Likewise. (utils::has_signed_unsigned_overflow): Likewise. (utils::bit_select): Likewise. * layout.cc (Layout::segment_precedes): Fixed order of MIPS specific segments. * layout.h (Layout::segment_list): Returns segment list. (Layout::segment_list): New function. * output.cc (Output_data_dynamic::Dynamic_entry::write): Added code for target specific dynamic tags. * output.h (Output_data_dynamic::add_target_specific): Added function for adding target specific dynamic tag. (Output_data_dynamic::add_target_specific): New method. (Output_data_dynamic::Dynamic_entry): Add support for target specific dynamic table entries. (DYNAMIC_TARGET): New enum for target specific dynamic tags. * reloc.cc (Sized_relobj_file<size, big_endian>::write_sections): Special handling of MIPS .reginfo section. * symtab.cc (Symbol_table::set_dynsym_indexes): MIPS needs dynamic symbol table to be sorted in a way that first come local, then global symbols without got entry and at the end global symbols with got entry. * symtab.h (Symbol_table::global_got_index_): New data member. (Symbol_table::global_got_index): New function. * Makefile.am ($HFILES): Added utils.h ($TARGETSOURCES): Added mips.cc ($ALL_TARGETOBJS): Added mips.$(OBJEXT) * Makefile.in: Regenerated. * configure.tgt: Added MIPS32 target. * elfcpp.h (SHT_MIPS_REGINFO): New enums for processor-specific flags. (SHF_MIPS_GPREL): Likewise. (PT_MIPS_REGINFO, PT_MIPS_RTPROC, PT_MIPS_OPTIONS): Likewise. (DT_MIPS_RLD_VERSION, DT_MIPS_TIME_STAMP, DT_MIPS_ICHECKSUM, DT_MIPS_IVERSION, DT_MIPS_FLAGS, DT_MIPS_BASE_ADDRESS, DT_MIPS_MSYM, DT_MIPS_CONFLICT, DT_MIPS_LIBLIST, DT_MIPS_LOCAL_GOTNO, DT_MIPS_CONFLICTNO, DT_MIPS_LIBLISTNO, DT_MIPS_SYMTABNO, DT_MIPS_UNREFEXTNO, DT_MIPS_GOTSYM, DT_MIPS_HIPAGENO, DT_MIPS_RLD_MAP, DT_MIPS_DELTA_CLASS, DT_MIPS_DELTA_CLASS_NO, DT_MIPS_DELTA_INSTANCE, DT_MIPS_DELTA_INSTANCE_NO, DT_MIPS_DELTA_RELOC, DT_MIPS_DELTA_RELOC_NO, DT_MIPS_DELTA_SYM, DT_MIPS_DELTA_SYM_NO, DT_MIPS_DELTA_CLASSSYM, DT_MIPS_DELTA_CLASSSYM_NO, DT_MIPS_CXX_FLAGS, DT_MIPS_PIXIE_INIT, DT_MIPS_SYMBOL_LIB, DT_MIPS_LOCALPAGE_GOTIDX, DT_MIPS_LOCAL_GOTIDX, DT_MIPS_HIDDEN_GOTIDX, DT_MIPS_PROTECTED_GOTIDX, DT_MIPS_OPTIONS, DT_MIPS_INTERFACE, DT_MIPS_DYNSTR_ALIGN, DT_MIPS_INTERFACE_SIZE, DT_MIPS_RLD_TEXT_RESOLVE_ADDR, DT_MIPS_PERF_SUFFIX, DT_MIPS_COMPACT_SIZE, DT_MIPS_GP_VALUE, DT_MIPS_AUX_DYNAMIC, DT_MIPS_PLTGOT, DT_MIPS_RWPLT): Likewise.
Attachment:
mips_gold.tar.gz
Description: GNU Zip compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |