aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-spu.c
AgeCommit message (Collapse)AuthorFilesLines
2009-10-292009-10-29 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-2/+0
* config/tc-mep.c (md_pseudo_table): Remove dwarf2 pseudo as they are already defined in obj-elf.c * config/tc-m32c.c (md_pseudo_table): Ditto. * config/tc-spu.c (md_pseudo_table): Ditto. * config/tc-avr.c (md_pseudo_table): Ditto.
2009-07-24include/elf/Trevor Smigiel1-1/+2
* spu.h (R_SPU_ADD_PIC): New. bfd/ * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC. (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC. (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC. gas/ * config/tc-spu.c (md_apply_fix): Handle SPU_ADD_PIC. * config/tc-spu.h (tc_fix_adjustable): Don't adjust for SPU_ADD_PIC. (TC_FORCE_RELOCATION): Emit relocs for SPU_ADD_PIC. ld/testsuite/ * ld-spu/pic.d: New. * ld-spu/pic.s: New. * ld-spu/picdef.s: New.
2009-07-24 PR 10437Nick Clifton1-1/+1
* config/tc-alpha.c: Fix up uses of gas printf like functions so that the format string is a constant string. Add translation support to message strings. * config/tc-arc.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-cris.c: Likewise. * config/tc-fr30.c: Likewise. * config/tc-frv.c: Likewise. * config/tc-h8300.c: Likewise. * config/tc-hppa.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-ia64.c: Likewise. * config/tc-m32r.c: Likewise. * config/tc-mep.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-moxie.c: Likewise. * config/tc-msp430.c: Likewise. * config/tc-openrisc.c: Likewise. * config/tc-pdp11.c: Likewise. * config/tc-pj.c: Likewise. * config/tc-s390.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh64.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-spu.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic4x.c: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-v850.c: Likewise. * config/tc-xc16x.c: Likewise. * config/tc-xstormy16.c: Likewise. * config/tc-z80.c: Likewise. * config/tc-z8k.c: Likewise. * config/atof-ieee.c: Add translation support to as_warn messages. * config/obj-coff.c: Likewise.
2009-06-22 * gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c,Nick Clifton1-1/+1
gas/config/atof-ieee.c, gas/config/obj-aout.c, gas/config/obj-coff.c, gas/config/obj-ecoff.c, gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c, gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c, gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c, gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c, gas/config/tc-i386-intel.c, gas/config/tc-i386.c, gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c, gas/config/tc-iq2000.c, gas/config/tc-m32c.c, gas/config/tc-m32r.c, gas/config/tc-m68hc11.c, gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c, gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c, gas/config/tc-mn10300.c, gas/config/tc-moxie.c, gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c, gas/config/tc-s390.c, gas/config/tc-score.c, gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c, gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c, gas/config/tc-xtensa.c, gas/config/xtensa-relax.c, gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c, gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c, gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the gas macro `assert' to `gas_assert'.
2009-01-12bfd/Alan Modra1-51/+114
* elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2, num_lines_log2. (struct got_entry): Add br_addr. (struct call_info): Add priority. (struct function_info): Add lr_store and sp_adjust. (spu_elf_setup): Init line_size_log2 and num_lines_log2. (spu_elf_find_overlays): For soft-icache, mark any section within cache area as an overlay, and check that no other overlays exist. Look up icache overlay manager entry sym. (BRA_STUBS, BRA, BRASL): Define. (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub. (needs_ovl_stub): Adjust for soft-icache. Return priority encoded in branch insn. (count_stub, build_stub): Support soft-icache. (build_spuear_stubs, process_stubs): Adjust build_stub call. (spu_elf_size_stubs): Size soft-icache stubs. (overlay_index): New function. (spu_elf_build_stubs): Make static. Support soft-icache. (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache. (find_function_stack_adjust): Save lr store and stack adjust insn offsets. (maybe_insert_function): Adjust find_function_stack_adjust call. (mark_functions_via_relocs): Retrieve priority. (remove_cycles): Only warn about pruned arcs when stack_analysis. (sort_calls): Sort by priority first. (mark_overlay_section): Ignore .ovl.init. (sum_stack): Only print when stack_analysis. (print_one_overlay_section): New function, extracted from.. (spu_elf_auto_overlay): ..here. Support soft-icache overlays. (spu_elf_stack_analysis): Only print when htab->stack_analysis. (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive analysis. Call spu_elf_build_stubs. (spu_elf_relocate_section): For soft-icache encode overlay index into addresses. (spu_elf_output_symbol_hook): Support soft-icache. (spu_elf_modify_program_headers: Likewise. * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename num_regions to num_lines. Add line_size and max_branch. (enum _ovly_flavour): Add ovly_soft_icache. (spu_elf_build_stubs): Delete. gas/ * config/tc-spu.c (md_pseudo_table): Add "brinfo". (brinfo): New var. (md_assemble): Poke brinfo into branch instructions. (spu_brinfo): New function. (md_apply_fix): Don't assume insn fields start off at zero, mask them to remove possible brinfo. ld/ * emultempl/spuelf.em (params): Init new fields. (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars. (spu_place_special_section): Adjust placement for soft-icache. Pad soft-icache section to a fixed size. Clear addr_tree. (spu_elf_load_ovl_mgr): Support soft-icache. Map overlay manager sections a little more intelligently. (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs. (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS. (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define. (OPTION_SPU_LRLIVE): Define. (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle them. * emultempl/spu_icache.S: Dummy file. * emultempl/spu_icache.o_c: Regenerate. * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c. (spu_icache.o_c): Add rule to build. (CLEANFILES): Zap temp files. (EXTRA_DIST): Add spu_icache.o_c. * Makefile.in: Regenerate. ld/testsuite/ * ld-spu/ovl.d: Allow for absolute branches in stubs. * ld-spu/ovl2.d: Likewise.
2008-08-12Banish PARAMS and PTR. Convert to ISO C.Alan Modra1-3/+4
Delete unnecessary forward declarations.
2008-07-04 * config/tc-spu.c (md_apply_fix): Handle fully resolvedAlan Modra1-0/+9
BFD_RELOC_32_PCREL, BFD_RELOC_SPU_HI16 and BFD_RELOC_SPU_LO16.
2007-10-17Remove duplicate definitions of the md_atof() functionNick Clifton1-52/+1
2007-10-04* read.c (potable): Add string8, string16, string32 and string64. Add bit ↵Nick Clifton1-1/+1
size for stringer function. (stringer_append_char): New. (stringer): Use stringer_append_char(). * config/obj-coff.c (obj_coff_ident): Add bit size for stringer function. * config/obj-elf.c (obj_elf_ident): Likewise. * config/tc-alpha.c (s_alpha_stringer): Likewise. * config/tc-dlx.c (dlx_pseudo_table): Likewise. * config/tc-hppa.c (pa_stringer): Likewise. * config/tc-ia64.c (md_pseudo_table, pseudo_opcode): Likewise. * config/tc-m68hc11.c (md_pseudo_table): Likewise. * config/tc-mcore.c (md_pseudo_table): Likewise. * config/tc-mips.c (mips_pseudo_table): Likewise. * config/tc-spu.c (md_pseudo_table): Likewise. * config/tc-s390.c (md_pseudo_table): Likewise. Replace '2' by '1'. * doc/as.texinfo (ABORT): Fix identing. (String): Document new string8, string16, string32, string64 functions. * NEWS: Mention the new feature. * testsuite/gas/all/gas.exp: Include new test "strings". * testsuite/gas/all/string.s: New * testsuite/gas/all/string.d: New.
2007-09-04 * config/tc-spu.c (struct spu_insn): Delete "flag". Add "reloc".Alan Modra1-14/+10
(md_assemble): Update init of insn. Use insn.reloc instead of calculating from flag. (get_imm): Set reloc rather than flag. (calcop): Formatting.
2007-07-03Switch to GPLv3Nick Clifton1-1/+1
2007-06-05 * config/tc-spu.c (spu_cons): Use deferred_expression. HandleAlan Modra1-2/+9
number@ppu. (tc_gen_reloc): Abort if neither addsy or subsy is set. (md_apply_fix): Don't attempt to resolve SPU_PPU relocs. * config/tc-spu.h (md_operand): Handle @ppu without sym.
2007-05-11include/elf/Alan Modra1-17/+67
* spu.h (R_SPU_PPU32, R_SPU_PPU64): Define. bfd/ * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define. * elf-bfd.h (struct elf_backend_data): Change return type of elf_backend_relocate_section to int. * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and R_SPU_PPU64. (spu_elf_bfd_to_reloc_type): Convert new relocs. (spu_elf_count_relocs): New function. (elf_backend_count_relocs): Define. (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and R_SPU_PPU64 relocs. * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section returns 2. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ * config/tc-spu.c (md_pseudo_table): Add int, long, quad. Call spu_cons for word. (md_assemble): Tidy use of insn.flag. (get_imm): Likewise. Handle uppercase input too. (spu_cons): New function. * config/tc-spu.h (tc_fix_adjustable): Don't adjust SPU_PPU relocs. (TC_FORCE_RELOCATION): Don't resolve them either. binutils/ * embedspu.sh (find_prog): Prefer prog in same dir as embedspu over one found on the users path. (main): Generate .reloc for each R_SPU_PPU* reloc.
2007-03-23 * config/tc-spu.c: Don't include opcode/spu.h.Alan Modra1-6/+6
(md_assemble): Set tc_fix_data.insn_tag and arg_format. (md_apply_fix): Adjust. * config/tc-spu.h: Include opcode/spu.h. (struct tc_fix_info): New. (TC_FIX_TYPE, TC_INIT_FIX_DATA): Adjust. (TC_FORCE_RELOCATION): Define.
2006-11-24 * config/tc-spu.c (md_pseudo_table): Add eqv and .eqv.Alan Modra1-0/+3
2006-10-29* config/tc-spu.c (md_assemble): Cast printf string size parameterNick Clifton1-1/+1
to int in order to avoid a compiler warning.
2006-10-25New Cell SPU port.Alan Modra1-0/+1023