binutils-gdb/gas/config
Nick Clifton 8e45593ff3 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com>
Joseph Myers  <joseph@codesourcery.com>
            Andrew Stubbs  <ams@codesourcery.com>

        bfd/
        * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
        bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
        * configure.in: Handle FDPIC vectors.
        * elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
        * elf32-sh.c (DEFAULT_STACK_SIZE): Define.
        (SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
        SYMBOL_REFERENCES_LOCAL for function descriptors.
        (fdpic_object_p): New.
        (sh_reloc_map): Add FDPIC and movi20 relocations.
        (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
        range.
        (struct elf_sh_plt_info): Add got20 and short_plt.  Update all
        definitions.
        (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
        (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
        (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
        (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
        (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
        New.
        (get_plt_info): Handle FDPIC.
        (MAX_SHORT_PLT): Define.
        (get_plt_index, get_plt_offset): Handle short_plt.
        (union gotref): New.
        (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
        got_type and adjust all uses.  Add GOT_FUNCDESC.
        (struct sh_elf_obj_tdata): Add local_funcdesc.  Rename
        local_got_tls_type to local_got_type.
        (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
        users changed.
        (sh_elf_local_funcdesc): Define.
        (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
        and srofixup.
        (sh_elf_link_hash_newfunc): Initialize new fields.
        (sh_elf_link_hash_table_create): Set fdpic_p.
        (sh_elf_omit_section_dynsym): New.
        (create_got_section): Create .got.funcdesc, .rela.got.funcdesc
        and .rofixup.
        (allocate_dynrelocs): Allocate local function descriptors and space
        for R_SH_FUNCDESC-related relocations, and for rofixups.
        Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
        require function descriptors.
        (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
        (sh_elf_modify_program_headers): New.
        (sh_elf_size_dynamic_sections): Allocate function descriptors for
        local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
        Handle local GOT entries of type GOT_FUNCDESC.  Create fixups for
        local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
        entry in the .dynamic section.
        (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
        (sh_elf_add_rofixup, sh_elf_osec_to_segment)
        (sh_elf_osec_readonly_p, install_movi20_field): New functions.
        (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
        R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
        and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.  Add rofixup
        read-only section warnings.  Handle undefined weak symbols.  Generate
        fixups for R_SH_DIR32 and GOT entries.  Check for cross-segment
        relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
        Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
        (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
        R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
        Handle 20-bit relocations.
        (sh_elf_copy_indirect_symbol): Copy function descriptor reference
        counts.
        (sh_elf_check_relocs): Handle new relocations.  Make symbols
        dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
        symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
        for R_SH_DIR32.
        (sh_elf_copy_private_data): Copy PT_GNU_STACK size.
        (sh_elf_merge_private_data): Copy initial flags.  Do not clobber
        non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
        (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
        here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
        FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
        Use install_movi20_field.  Rename srel to srelgot.  Always generate
        R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
        (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
        Do not fill in reserved GOT entries for FDPIC.  Correct DT_PLTGOT.
        Rename sgot to sgotplt.  Assert that the right number of rofixups
        and dynamic relocations were allocated.
        (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
        (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
        (elf_backend_can_make_relative_eh_frame)
        (elf_backend_can_make_lsda_relative_eh_frame)
        (elf_backend_encode_eh_address): Define.
        (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
        (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
        Redefine for FDPIC vector.
        * reloc.c: Add SH FDPIC and movi20 relocations.
        * targets.c (_bfd_target_vector): Add FDPIC vectors.
        * configure, bfd-in2.h, libbfd.h: Regenerated.

        binutils/
        * readelf.c (get_machine_flags): Handle EF_SH_PIC and EF_SH_FDPIC.

        gas/
        * config/tc-sh.c (sh_fdpic): New.
        (sh_check_fixup): Handle relocations on movi20.
        (parse_exp): Do not reject PIC operators here.
        (build_Mytes): Check for unhandled PIC operators here.  Use
        sh_check_fixup for movi20.
        (enum options): Add OPTION_FDPIC.
        (md_longopts, md_parse_option, md_show_usage): Add --fdpic.
        (sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
        (sh_elf_final_processing): Handle --fdpic.
        (sh_uclinux_target_format): New.
        (sh_parse_name): Handle FDPIC relocation operators.
        * config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
        (sh_uclinux_target_format): Declare for TE_UCLINUX.
        * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
        em=uclinux.
        * doc/c-sh.texi (SH Options): Document --fdpic.

        gas/testsuite/
        * gas/sh/basic.exp: Run new tests.  Handle uClinux like Linux.
        * gas/sh/fdpic.d: New file.
        * gas/sh/fdpic.s: New file.
        * gas/sh/reg-prefix.d: Force big-endian.
        * gas/sh/sh2a-pic.d: New file.
        * gas/sh/sh2a-pic.s: New file.
        * lib/gas-defs.exp (is_elf_format): Include sh*-*-uclinux*.

        include/elf/
        * sh.h (EF_SH_PIC, EF_SH_FDPIC): Define.
        (R_SH_FIRST_INVALID_RELOC_6, R_SH_LAST_INVALID_RELOC_6): New.  Adjust
        other invalid ranges.
        (R_SH_GOT20, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20)
        (R_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC20, R_SH_FUNCDESC)
        (R_SH_FUNCDESC_VALUE): New.

        ld/
        * Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
        (eshelf_fd.c, eshlelf_fd.c): New rules.
        * Makefile.in: Regenerate.
        * configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
        emulations.
        * emulparams/shelf_fd.sh: New file.
        * emulparams/shlelf_fd.sh: New file.
        * emulparams/shlelf_linux.sh: Update comment.

        ld/testsuite/
        * ld-sh/sh.exp: Handle uClinux like Linux.
        * lib/ld-lib.exp (is_elf_format): Include sh*-*-uclinux*.
        * ld-sh/fdpic-funcdesc-shared.d: New file.
        * ld-sh/fdpic-funcdesc-shared.s: New file.
        * ld-sh/fdpic-funcdesc-static.d: New file.
        * ld-sh/fdpic-funcdesc-static.s: New file.
        * ld-sh/fdpic-gotfuncdesc-shared.d: New file.
        * ld-sh/fdpic-gotfuncdesc-shared.s: New file.
        * ld-sh/fdpic-gotfuncdesc-static.d: New file.
        * ld-sh/fdpic-gotfuncdesc-static.s: New file.
        * ld-sh/fdpic-gotfuncdesci20-shared.d: New file.
        * ld-sh/fdpic-gotfuncdesci20-shared.s: New file.
        * ld-sh/fdpic-gotfuncdesci20-static.d: New file.
        * ld-sh/fdpic-gotfuncdesci20-static.s: New file.
        * ld-sh/fdpic-goti20-shared.d: New file.
        * ld-sh/fdpic-goti20-shared.s: New file.
        * ld-sh/fdpic-goti20-static.d: New file.
        * ld-sh/fdpic-goti20-static.s: New file.
        * ld-sh/fdpic-gotofffuncdesc-shared.d: New file.
        * ld-sh/fdpic-gotofffuncdesc-shared.s: New file.
        * ld-sh/fdpic-gotofffuncdesc-static.d: New file.
        * ld-sh/fdpic-gotofffuncdesc-static.s: New file.
        * ld-sh/fdpic-gotofffuncdesci20-shared.d: New file.
        * ld-sh/fdpic-gotofffuncdesci20-shared.s: New file.
        * ld-sh/fdpic-gotofffuncdesci20-static.d: New file.
        * ld-sh/fdpic-gotofffuncdesci20-static.s: New file.
        * ld-sh/fdpic-gotoffi20-shared.d: New file.
        * ld-sh/fdpic-gotoffi20-shared.s: New file.
        * ld-sh/fdpic-gotoffi20-static.d: New file.
        * ld-sh/fdpic-gotoffi20-static.s: New file.
        * ld-sh/fdpic-plt-be.d: New file.
        * ld-sh/fdpic-plt-le.d: New file.
        * ld-sh/fdpic-plt.s: New file.
        * ld-sh/fdpic-plti20-be.d: New file.
        * ld-sh/fdpic-plti20-le.d: New file.
        * ld-sh/fdpic-stack-default.d: New file.
        * ld-sh/fdpic-stack-size.d: New file.
        * ld-sh/fdpic-stack.s: New file.
2010-05-25 14:12:43 +00:00
..
aout_gnu.h
atof-ieee.c
atof-vax.c
bfin-aux.h * config/bfin-aux.h: Remove argument names in function 2010-01-14 04:52:57 +00:00
bfin-defs.h strip trailing whitespace in Blackfin files 2010-03-10 14:23:58 +00:00
bfin-lex.l gas: bfin: replace index() with strchr() 2010-04-20 07:10:31 +00:00
bfin-parse.y strip trailing whitespace in Blackfin files 2010-03-10 14:23:58 +00:00
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipsecoff.c
e-mipself.c
itbl-mips.h
m68k-parse.h * config/m68k-parse.h (enum m68k_register): Add ACR[4-7], RGPIOBAR. 2009-11-10 18:05:24 +00:00
m68k-parse.y
obj-aout.c * ecoff.c (ecoff_symbol_clone_hook): New function. 2009-11-02 11:49:48 +00:00
obj-aout.h
obj-coff-seh.c
obj-coff-seh.h
obj-coff.c gas/ChangeLog: 2010-01-27 22:01:38 +00:00
obj-coff.h
obj-ecoff.c * ecoff.c (ecoff_symbol_clone_hook): New function. 2009-11-02 11:49:48 +00:00
obj-ecoff.h * ecoff.c (ecoff_symbol_clone_hook): New function. 2009-11-02 11:49:48 +00:00
obj-elf.c Implement generic SHF_EXCLUDE. 2010-05-18 03:31:07 +00:00
obj-elf.h * config/tc-h8300.c (h8300_elf_section): New function - issue a 2010-01-13 14:08:54 +00:00
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h * ecoff.c (ecoff_symbol_clone_hook): New function. 2009-11-02 11:49:48 +00:00
obj-som.c
obj-som.h
rx-defs.h
rx-parse.y [opcodes] 2009-11-05 00:38:45 +00:00
tc-alpha.c 2010-04-14 Tristan Gingold <gingold@adacore.com> 2010-04-14 09:25:34 +00:00
tc-alpha.h
tc-arc.c
tc-arc.h
tc-arm.c * config/tc-arm.c (md_assemble): Clarify current mode in error 2010-05-13 08:15:04 +00:00
tc-arm.h * write.c (fixup_segment): Revert previous delta. 2010-05-04 16:21:07 +00:00
tc-avr.c 2010-04-07 Eric B. Weddington <eric.weddington@atmel.com> 2010-04-09 03:48:54 +00:00
tc-avr.h 2009-10-27 Tristan Gingold <gingold@adacore.com> 2009-10-27 15:39:27 +00:00
tc-bfin.c strip trailing whitespace in Blackfin files 2010-03-10 14:23:58 +00:00
tc-bfin.h strip trailing whitespace in Blackfin files 2010-03-10 14:23:58 +00:00
tc-cr16.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-cr16.h
tc-cris.c
tc-cris.h
tc-crx.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-crx.h
tc-d10v.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-d10v.h
tc-d30v.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-d30v.h
tc-dlx.c
tc-dlx.h
tc-fr30.c
tc-fr30.h
tc-frv.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-frv.h
tc-generic.c
tc-generic.h
tc-h8300.c * config/tc-h8300.c (h8300_elf_section): Add .zdebug to the list 2010-05-19 10:47:49 +00:00
tc-h8300.h
tc-hppa.c PR gas/11395 2010-04-16 11:20:41 +00:00
tc-hppa.h
tc-i370.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-i370.h
tc-i386-intel.c Restore "call|jmp [xtrn]" in x86 assembler. 2010-04-24 17:41:04 +00:00
tc-i386.c Remove i386_is_register. 2010-04-22 03:10:48 +00:00
tc-i386.h * config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define. 2010-03-08 14:07:45 +00:00
tc-i860.c
tc-i860.h
tc-i960.c
tc-i960.h
tc-ia64.c gas/ 2010-02-12 14:34:45 +00:00
tc-ia64.h bfd: 2010-03-25 21:12:36 +00:00
tc-ip2k.c
tc-ip2k.h
tc-iq2000.c
tc-iq2000.h
tc-lm32.c * config/tc-lm32.c (md_begin): Add missing call to bfd_set_arch_mach. 2009-10-19 15:30:06 +00:00
tc-lm32.h
tc-m32c.c 2009-10-29 Tristan Gingold <gingold@adacore.com> 2009-10-29 09:43:18 +00:00
tc-m32c.h
tc-m32r.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-m32r.h
tc-m68hc11.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-m68hc11.h
tc-m68k.c * config/m68k-parse.h (enum m68k_register): Add ACR[4-7], RGPIOBAR. 2009-11-10 18:05:24 +00:00
tc-m68k.h 2009-11-04 Daniel Jacobowitz <dan@codesourcery.com> 2009-11-04 09:52:00 +00:00
tc-m68851.h
tc-maxq.c
tc-maxq.h
tc-mcore.c
tc-mcore.h
tc-mep.c 2009-10-29 Tristan Gingold <gingold@adacore.com> 2009-10-29 09:43:18 +00:00
tc-mep.h
tc-microblaze.c * config/tc-microblaze.c (md_assemble): Rename 'imm' to 'immed' in 2009-12-14 09:50:18 +00:00
tc-microblaze.h
tc-mips.c * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop, 2010-02-25 11:15:48 +00:00
tc-mips.h * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop, 2010-02-25 11:15:48 +00:00
tc-mmix.c
tc-mmix.h
tc-mn10200.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-mn10200.h
tc-mn10300.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-mn10300.h
tc-moxie.c
tc-moxie.h
tc-msp430.c
tc-msp430.h
tc-mt.c
tc-mt.h
tc-ns32k.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-ns32k.h
tc-openrisc.c
tc-openrisc.h
tc-or32.c
tc-or32.h
tc-pdp11.c
tc-pdp11.h
tc-pj.c
tc-pj.h
tc-ppc.c * config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr". 2010-05-25 00:51:49 +00:00
tc-ppc.h Implement generic SHF_EXCLUDE. 2010-05-18 03:31:07 +00:00
tc-rx.c PR gas/11089 2009-12-14 10:59:37 +00:00
tc-rx.h
tc-s390.c 2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2010-01-21 11:40:28 +00:00
tc-s390.h 2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2010-01-21 11:40:28 +00:00
tc-score7.c 2010-03-01 Tristan Gingold <gingold@adacore.com> 2010-03-01 16:47:52 +00:00
tc-score.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-score.h
tc-sh64.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-sh64.h
tc-sh.c 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
tc-sh.h 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
tc-sparc.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-sparc.h
tc-spu.c 2009-10-29 Tristan Gingold <gingold@adacore.com> 2009-10-29 09:43:18 +00:00
tc-spu.h
tc-tic4x.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-tic4x.h
tc-tic6x.c gas: 2010-04-27 23:43:25 +00:00
tc-tic6x.h gas: 2010-04-27 23:43:25 +00:00
tc-tic30.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-tic30.h
tc-tic54x.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-tic54x.h
tc-v850.c 2010-03-13 Segher Boessenkool <segher@kernel.crashing.org> 2010-03-13 15:54:21 +00:00
tc-v850.h
tc-vax.c
tc-vax.h
tc-xc16x.c * config/tc-xc16x.c (md_cgen_lookup_reloc): Ensure fix_size is set 2009-10-19 15:27:39 +00:00
tc-xc16x.h
tc-xstormy16.c
tc-xstormy16.h
tc-xtensa.c 2010-02-11 Sterling Augustine <sterling@jaw.hq.tensilica.com> 2010-02-11 19:08:09 +00:00
tc-xtensa.h
tc-z8k.c Add -Wshadow to the gcc command line options used when compiling the binutils. 2009-12-11 13:42:17 +00:00
tc-z8k.h
tc-z80.c * config/tc-z80.c (z80_start_line_hook): Fix parsing of 'equ' or 2009-10-25 16:15:19 +00:00
tc-z80.h
te-386bsd.h
te-aix5.h
te-armeabi.h
te-armlinuxeabi.h
te-dynix.h
te-epoc-pe.h
te-freebsd.h
te-generic.h
te-gnu.h
te-go32.h
te-hppa64.h
te-hppa.h
te-hppalinux64.h
te-hpux.h
te-i386aix.h bfd/ 2010-01-23 12:05:33 +00:00
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lnews.h
te-lynx.h
te-mach.h
te-macos.h
te-nbsd532.h
te-nbsd.h
te-netware.h
te-pc532mach.h
te-pe.h
te-pep.h
te-psos.h
te-riscix.h
te-solaris.h * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only 2010-01-21 20:58:34 +00:00
te-sparcaout.h
te-sun3.h
te-svr4.h
te-symbian.h
te-tmips.h
te-uclinux.h 2009-11-04 Daniel Jacobowitz <dan@codesourcery.com> 2009-11-04 09:52:00 +00:00
te-vms.c
te-vms.h
te-vxworks.h
te-wince-pe.h
vax-inst.h
xtensa-istack.h
xtensa-relax.c
xtensa-relax.h