Commit Graph

59755 Commits

Author SHA1 Message Date
Alan Modra 31535563bd daily update 2008-11-30 00:00:05 +00:00
Kai Tietz b01ee69ddc 2008-11-29 Kai Tietz <kai.tietz@onevision.com>
* config/tc-i386.c (i386_target_format): For coff flavour in TE_PEP
	use "pe-i386" for 32-bit.
2008-11-29 09:35:52 +00:00
Dave Anglin 72f10fadb6 * hpux-core.c: Don't include sys/file.h. 2008-11-29 00:26:39 +00:00
Alan Modra 66bef2c54c daily update 2008-11-29 00:00:06 +00:00
gdbadmin af21e36cb6 *** empty log message *** 2008-11-29 00:00:03 +00:00
Joel Brobecker 67f0aac52a * gdb.ada/int_deref.exp: Convert the addresses into long_integer
rather than integer, as integer might not be big enough when
        on 64bit targets.
2008-11-28 23:26:54 +00:00
Jan Kratochvil 8d90eea314 2008-11-25 monitor.c (monitor_insert_breakpoint): Remove, already in log before. 2008-11-28 21:58:06 +00:00
Jakub Jelinek 395e834521 * Makefile.am (ehopt.o): Add struc-symbol.h.
* Makefile.in: Regenerated.
	* ehopt.c: Include struc-symbol.h.
	(check_eh_frame): For very small O_constant DW_CFA_advance_loc4
	create correct DW_CFA_advance_loc.  Handle O_subtract only
	for code alignment factor 1, otherwise handle O_divide or
	O_right_shift of O_subtract and O_constant.
	(eh_frame_estimate_size_before_relax): Always divide by ca.
	(eh_frame_convert_frag): Likewise.

	* dw2gencfi.c (output_cfi_insn): Scale DW_CFA_advance_loc1,
	DW_CFA_advance_loc2 and DW_CFA_advance_loc4 outputs.
2008-11-28 21:28:28 +00:00
Thiemo Seufer 3aa3176b2d * aoutx.h (NAME): Add case statements for bfd_mach_mips14000,
bfd_mach_mips16000.
	* archures.c (bfd_architecture): Add .#defines for bfd_mach_mips14000,
	bfd_mach_mips16000.
	* bfd-in2.h: Regenerate.
	* cpu-mips.c: Add enums I_mips14000, I_mips16000.
	(arch_info_struct): Add refs to R14000, R16000.
	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips14000,
	bfd_mach_mips16000.
	(mips_mach_extensions): Map R14000, R16000 to R10000.

	* config/tc-mips.c (hilo_interlocks): Handle CPU_R14000, CPU_R16000.
	(mips_cpu_info_table): Add r14000, r16000.
	* doc/c-mips.texi: Add entries for 14000, 16000.

	* mips-dis.c (mips_arch_choices): Add r14000, r16000.

	* mips.h: Define CPU_R14000, CPU_R16000.
        (OPCODE_IS_MEMBER): Include R14000, R16000 in test.
2008-11-28 18:02:17 +00:00
gdbadmin 6fce36a432 *** empty log message *** 2008-11-28 00:00:33 +00:00
Alan Modra 813f1f06e9 daily update 2008-11-28 00:00:05 +00:00
Joseph Myers fb2470b817 Merge from GCC:
2008-11-21  Kai Tietz  <kai.tietz@onevision.com>

	Fix PR/25502
	* mh-mingw (BOOT_CFLAGS): Add -Wno-pedantic-ms-format switch.

2008-11-12  Steve Ellcey  <sje@cup.hp.com>

	PR target/27880
	* unwind_ipinfo.m4 (GCC_CHECK_UNWIND_GETIPINFO): Change from
	link test to target based test.
2008-11-27 17:22:10 +00:00
Joseph Myers e28c595f6e Merge from GCC:
2007-12-02  Matthias Klose  <doko@ubuntu.com>

	* config-ml.in: Remove 64bit configure tests.

	2008-05-14  Rafael Espindola  <espindola@google.com>

	* config-ml.in: don't handle --enable-shared and --enable-static.

	2008-09-02  Sebastian Pop  <sebastian.pop@amd.com>
	    Tobias Grosser  <grosser@fim.uni-passau.de>
	    Jan Sjodin  <jan.sjodin@amd.com>
	    Harsha Jagasia  <harsha.jagasia@amd.com>
	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
	    Konrad Trifunovic  <konrad.trifunovic@inria.fr>
	    Adrien Eliche  <aeliche@isty.uvsq.fr>

	Merge from graphite branch.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* configure.ac (host_libs): Add ppl and cloog.
	Add checks for PPL and CLooG.
	* Makefile.def (ppl, cloog): Added modules and dependences.
	* Makefile.tpl (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): New.
	(HOST_PPLLIBS, HOST_PPLINC, HOST_CLOOGLIBS, HOST_CLOOGINC): New.

	2008-09-03  Richard Guenther  <rguenther@suse.de>

	* configure.ac: Always pass -DCLOOG_PPL_BACKEND to the
	cloog test.
	* configure: Re-generate.

	2008-09-03  Sebastian Pop  <sebastian.pop@amd.com>

	* configure.ac (--with-cloog-polylib): New.
	(--disable-cloog-version-check): New.
	(--disable-ppl-version-check): New.
	* configure: Re-generate.

	2008-09-05  Richard Guenther  <rguenther@suse.de>

	* configure.ac: Initialize clooglibs to -lcloog.
	* configure: Re-generate.

	2008-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* configure.ac (MPFR check): Bump minimum version to 2.3.0 and
	recommended version to 2.3.2.

	* configure: Regenerate.

	2008-10-31  Ben Elliston  <bje@au.ibm.com>

	* configure.ac (spu-*-*): Remove special case.
	* configure: Regenerate.

	Complete comment text from GCC version of:

	2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
	(GCC_SHLIB_SUBDIR): New.
	* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
2008-11-27 17:14:58 +00:00
Tristan Gingold 652dec25e1 2008-11-27 Tristan Gingold <gingold@adacore.com>
* configure.ac: Build gdb for i?86-*-darwin*
	* configure: Regenerated.
2008-11-27 15:20:39 +00:00
M R Swami Reddy 7251ccbfd7 * emultempl/cr16elf.em (cr16_after_open): New function to handle
CR16 ELF embedded reloc creation (ld --embedded-relocs).
        (check_sections): New function.
        (LDEMUL_AFTER_OPEN): Define.
        * emulparams/elf32cr16.sh (EMBEDDED): Define.
	* NEWS: Add comment on cr16 new feature.
2008-11-27 12:41:14 +00:00
M R Swami Reddy 99706f3093 * Add PIC support for CR16 target.
* elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
        R_CR16_GLOB_DAT): New macros
        (cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20,
        R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
        (cr16_reloc_map): Ditto
        (_bfd_cr16_elf_create_got_section): New function to create GOT section.
        (_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic
        section.
        (_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol
        defined by dynamic object.
        (_bfd_cr16_elf_size_dynamic_sections): New function to find the size
        of dynamic section.
        (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
        symbols.
        (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
        sections.
        (bfd_cr16_elf32_create_embedded_relocs): New function to create
        embedded relocs in .emreloc section in memory for .data.rel section.
        (_bfd_cr16_elf_reloc_type_class): New function for classify reloc types.
        (cr16_elf_check_relocs): New function for checking reloc types in
        first phase.
        (cr16_elf_final_link_relocate): Update for handling the new reloc
        types R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20.
        (elf32_cr16_relax_section): Update relax implementation.
        * reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20,
        R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
        * bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared
        * libbfd.h, bfd-in2.h: Regenerate.
2008-11-27 12:26:49 +00:00
M R Swami Reddy 95beeee886 *c-cr16.texi (cr16-operand specifiers): Add got/GOT and cgot/cGOT. 2008-11-27 12:01:26 +00:00
M R Swami Reddy 0b9e228a4d * config/tc-cr16.h (GLOBAL_OFFSET_TABLE_NAME): Defined
* config/tc-cr16.c (md_pseudo_table): Add "4byte" directive to
        md_pseudo_table and accept @c prefix, same as long directive.
        (cr16_cons_fix_new): Initialize rtype to BFD_RELOC_UNUSED.
        config/tc-cr16.c (tc_gen_reloc): Declare a variable of type
        bfd_reloc_code_real_type and set it for GOT related relocations.
        (md_undefined_symbol): Defined
        (process_label_constant): Added checks for GOT/got and cGOT/cGOT
        prefixes with constant label and set the appropriate relocation type.
        * doc/c-cr16.texi (cr16-operand specifiers): Add got/GOT and cgot/cGOT.
2008-11-27 11:57:29 +00:00
M R Swami Reddy 50e9934812 * gas/cr16/pic-1.s: New.
* gas/cr16/pic-1.d: New.
        * gas/cr16/pic-2.s: New.
        * gas/cr16/pic-2.d: New.
        * gas/cr16/pic.exp: Run pic tests.
2008-11-27 11:46:52 +00:00
M R Swami Reddy e73521d6c7 * cr16.h (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
R_CR16_GLOB_DAT): New relocations.
2008-11-27 11:35:39 +00:00
M R Swami Reddy 59b098c970 * cr16-dis.c (match_opcode): Truncate mcode to 32 bit and
adjusted the mask for 32-bit branch instruction.
2008-11-27 11:30:33 +00:00
Alan Modra e1c93c699b * ppc-opc.c (extract_sprg): Correct operand range check. 2008-11-27 10:47:23 +00:00
Jerome Guitton c332165e45 * gdb.cp/formatted-ref.exp: Add equality test.
* gdb.ada/formatted_ref.exp: Ditto.
2008-11-27 09:52:55 +00:00
Tristan Gingold a80b95ba67 gdb:
2008-11-27  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add entry for new native configuration: Darwin.
	* configure.host: Add Darwin host.
	* configure.tgt: Add Darwin target.
	* defs.h (enum gdb_osabi): Add GDB_OSABI_DARWIN.
	* osabi.c (gdb_osabi_names): Add name for Darwin abi.
	* i386-darwin-nat.c: New file.
	* i386-darwin-tdep.c: New file.
	* machoread.c: New file.
	* darwin-nat-info.c: New file.
	* darwin-nat.c: New file.
	* darwin-nat.h: New file.
	* darwin.defs: New file.
	* config/i386/darwin.mh: New file.

gdb/doc:
2008-11-27  Tristan Gingold  <gingold@adacore.com>

	* gdb.texinfo (Darwin): Document Darwin specific features.
2008-11-27 09:23:01 +00:00
Alan Modra 6c7c4ca467 daily update 2008-11-27 00:00:04 +00:00
gdbadmin 7785a2a9da *** empty log message *** 2008-11-27 00:00:03 +00:00
DJ Delorie 801fb795a4 * config/tc-m32c.c (md_pseudo_table): Add support for .loc et al. 2008-11-26 18:44:14 +00:00
Tristan Gingold 5a85c5216d 2008-11-26 Tristan Gingold <gingold@adacore.com>
* MAINTAINERS: Add myself for write after approval privileges.
2008-11-26 16:32:59 +00:00
Jerome Guitton 3e3d7139ee * value.h (allocate_value_lazy): New function declaration.
(value_free): Remove macro, make it a function.
	* value.c (value): Move actual content outside of the memory space
	of the struct; add a pointer to this actual content.
	(allocate_value_lazy, allocate_value_contents): New function.
	(allocate_value): Reimplement using these two new functions.
	(value_contents_raw, value_contents_all_raw): If no memory
	has been allocated yet for the actual content, allocate it.
	(value_contents_all): Resync with struct value's changes.
	(value_free): New function.
	(value_copy, value_primitive_field): Use new function
	allocate_value_lazy to allocate lazy values.
	(value_change_enclosing_type): Resync with struct value's changes.
	As the value is not reallocated, remove the special handling for
	the value chain (now obsolete).
	* valops.c (value_at_lazy): Use new function allocate_value_lazy.
	(value_fetch_lazy): Allocate value content. Use allocate_value_lazy
	to allocate lazy values.
	(value_slice): Use allocate_value_lazy to allocate lazy values.
2008-11-26 16:27:28 +00:00
Jan Kratochvil 508e676df1 * strings.c (main): New variable `s'. Have string_min parsing
call fatal for invalid input strings.
2008-11-26 14:24:35 +00:00
Joel Sherrill a85c0b494e 2008-11-24 Joel Sherrill <joel.sherrill@oarcorp.com>
* arminit.c, iwmmxt.c: Include <string.h> to
    eliminate warning.
2008-11-26 14:24:12 +00:00
Andreas Schwab 3c6528a8d8 Fix typo. 2008-11-26 10:49:06 +00:00
Andreas Schwab 9f7678f6ca (NEXTBYTE, NEXTWORD, NEXTLONG, NEXTULONG, NEXTSINGLE)
(NEXTDOUBLE, NEXTEXTEND, NEXTPACKED): Fix error handling.
(save_printer, save_print_address): Remove.
(fetch_data): Don't use them.
(match_insn_m68k): Always restore printing functions.
(print_insn_m68k): Don't save/restore printing functions.
2008-11-26 10:43:18 +00:00
Jan Kratochvil 5f019e5878 2008-11-25 ia64-tdep.c change: Reflect current `disable' in the ChangeLog entry. 2008-11-26 05:36:38 +00:00
Jan Kratochvil 939c61faff Fix automatic restoration of breakpoints memory for ia64.
* ia64-tdep.c: New #if check on BREAKPOINT_MAX vs. BUNDLE_LEN.
	(ia64_memory_insert_breakpoint): New comment part for SHADOW_CONTENTS
	content.  Remove variable instr.  New variable cleanup.  Force
	automatic breakpoints restoration.  PLACED_SIZE and SHADOW_LEN are now
	set larger, to BUNDLE_LEN - 2.  Variable `bundle' type update.  Return
	error if even just final target_write_memory has failed.
	(ia64_memory_remove_breakpoint): Rename variables bundle to bundle_mem
	and instr to instr_saved.  New variables bundle_saved and
	instr_breakpoint.  Comment new reasons why we need to disable automatic
	restoration of breakpoints.  Assert PLACED_SIZE and SHADOW_LEN.  New
	check of the original memory content.  Return error if even just final
	target_write_memory has failed.
	(ia64_breakpoint_from_pc): Implement the emulation of permanent
	breakpoints compatible with current bp_loc_is_permanent.
	(template_encoding_table): Make it `const'.
	* breakpoint.c (bp_loc_is_permanent): Support unsupported software
	breakpoints.  New variables `cleanup' and `retval'.
	* monitor.c (monitor_insert_breakpoint): Remove unused variable `bp'.
2008-11-26 05:27:48 +00:00
Jan Kratochvil a655d42411 * gdbint.texinfo (Target Conditionals): Extend the
gdbarch_breakpoint_from_pc description.
2008-11-26 05:26:40 +00:00
Jan Kratochvil fc9b693caa * gdb.base/breakpoint-shadow.exp, gdb.base/breakpoint-shadow.c: New.
* gdb.base/start.exp: New comment about an alternative - `runto_main'.
2008-11-26 05:25:56 +00:00
Alan Modra ae5a359786 include/
PR 7047
	* bfdlink.h (struct bfd_elf_version_expr): Delete "symbol".
	Add "literal".
bfd/
	PR 7047
	* configure.in: Bump version.
	* configure: Regenerate.
	* elflink.c (_bfd_elf_link_assign_sym_version): Continue matching
	against version nodes when a global match is a wildcard.  Similarly
	continue matching on local wildcard matches, rather than only
	continuing for "*".  Have any global wildcard match override a
	local wildcard match.  Correct logic hiding unversioned symbol.
	(bfd_elf_size_dynamic_sections): Update for changes to struct
	bfd_elf_version_expr.
ld/
	PR 7047
	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Update
	for changes to struct bfd_elf_version_expr.
	* ldlang.c (lang_vers_match, version_expr_head_hash): Likewise.
	(version_expr_head_eq, lang_finalize_version_expr_head): Likewise.
	(lang_register_vers_node): Likewise.
	(lang_new_vers_pattern): Likewise.  Ensure "literal" is set when
	no glob chars found in "pattern".
	(realsymbol): Correct backslash quote logic.
	* ld.texinfo (VERSION): Warn about global wildcards.
2008-11-26 01:04:17 +00:00
Alan Modra 6cf7d91b7e daily update 2008-11-26 00:00:04 +00:00
gdbadmin 14f03c6139 *** empty log message *** 2008-11-26 00:00:03 +00:00
DJ Delorie 911c9c13f8 * config/tc-m32c.c (md_convert_frag): Fix ADJNZ reloc math. 2008-11-25 23:02:02 +00:00
Joel Brobecker 85f77068e7 * configure.in: Deactivate large-file support on native x86-solaris
as well unless the user explicitly requested it.
        * configure: Regenerate.
2008-11-25 19:07:10 +00:00
Joseph Myers 1954000798 bfd:
* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
	branches to undefine weak symbols into branches to the next
	instruction if creating PLT entries for those symbols.

ld/testsuite:
	* ld-arm/thumb2-bl-undefweak.d, ld-arm/thumb2-bl-undefweak.s: New.
	* ld-arm/arm-elf.exp: Run thumb2-bl-undefweak test.
2008-11-25 15:53:27 +00:00
Nick Clifton 83bac4b010 * elflink.c (is_reloc_section): New function. Returns true if the
given name matches the name of the reloc-containing section
        associated with the given section.
        (get_dynamic_reloc_section_name): New function.  Computes the name
        of the section that contains the dynamic relocs associated with
        the given section.
        (_bfd_elf_get_dynamic_reloc_section): New function.  Returns a
        pointer to the section containing the dynamic relocs associated
        with the given section.
        (_bfd_elf_make_dynamic_reloc_section): New function.  Creates a
        section to contain the dynamic relocs associated with a given
        section.
        * elf-bfd.h: Prototype the new functions.
        * elf-m10300.c (mn10300_elf_check_relocs): Use new functions.
        (mn10300_elf_final_link_relocs): Likewise.
        * elf32-arm.c (reloc_section_p): Delete - replaced by new
        functions.
        (elf32_arm_final_link_relocate): Use new functions.
        (elf32_arm_check_relocs): Likewise.
        * elf32-cris.c (cris_elf_relocate_section): Likewise.
        (elf_cris_check_relocs): Likewise.
        * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
        * elf32-i370.c (i370_elf_check_relocs): Likewise.
        (i370_elf_relocate_section): Likewise.
        * elf32-i386.c (elf_i386_check_relocs): Likewise.
        * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
        (m32r_elf_check_relocs): Likewise.
        * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
        * elf32_ppc.c (ppc_elf_check_relocs): Likewise.
        (ppc_elf_relocate_section): Likewise.
        * elf32-s390.c (elf_s390_check_relocs): Likewise.
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
        (sh_elf_check_relocs): Likewise.
        * elf32-vax.c (elf_vax_check_relocs): Likewise.
        (elf_vax_relocate_section): Likewise.
        * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
        * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
        * elf64-s390.c (elf_s390_check_relocs): Likewise.
        * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
        * elf32-bfin.c (bfin_check_relocs): Remove redundant local
        variable 'sreloc'.
        (bfin_relocate_section): Likewise.
        * elf32-v850.c (v850_elf_check_relocs): Likewise.
2008-11-25 13:03:56 +00:00
Nick Clifton 62443ade10 * m68k-dis.c: Rewrite to remove use of setjmp/longjmp. 2008-11-25 10:33:06 +00:00
Nick Clifton 20359e080a PR7044
* dlltool.c (run): Use formatting string to avoid compile time
        warning.
        (gen_exp_file): Check return value from fread.
        * windmc.c (main): Check return value from fread.
2008-11-25 08:48:49 +00:00
Hans-Peter Nilsson bcae43427d * ld-cris/got7.s, ld-cris/init.s, ld-cris/pic-gc-72.d,
ld-cris/pic-gc-72.s, ld-cris/pic-gc-73.d, ld-cris/pic-gc-73.s,
	ld-cris/tls-dso-x1x2-1.d, ld-cris/tls-dso-xz-1.d,
	ld-cris/tls-dtprelm.s, ld-cris/tls-e-20.d, ld-cris/tls-e-20a.d,
	ld-cris/tls-e-21.d, ld-cris/tls-e-22.d, ld-cris/tls-e-23.d,
	ld-cris/tls-e-66.d, ld-cris/tls-err-20x.d, ld-cris/tls-err-24.d,
	ld-cris/tls-err-25.d, ld-cris/tls-err-26.d, ld-cris/tls-err-27.d,
	ld-cris/tls-err-28.d, ld-cris/tls-err-29.d, ld-cris/tls-err-31.d,
	ld-cris/tls-err-33.d, ld-cris/tls-err-35.d, ld-cris/tls-err-37.d,
	ld-cris/tls-err-39.d, ld-cris/tls-err-40.d, ld-cris/tls-err-41.d,
	ld-cris/tls-err-43.d, ld-cris/tls-err-44.d, ld-cris/tls-err-45.d,
	ld-cris/tls-err-47.d, ld-cris/tls-err-48.d, ld-cris/tls-err-49.d,
	ld-cris/tls-err-51.d, ld-cris/tls-err-52.d, ld-cris/tls-err-53.d,
	ld-cris/tls-err-55.d, ld-cris/tls-err-55.s, ld-cris/tls-err-56.d,
	ld-cris/tls-err-56.s, ld-cris/tls-err-62.d, ld-cris/tls-err-62.s,
	ld-cris/tls-err-65.d, ld-cris/tls-err-67.d, ld-cris/tls-gc-68.d,
	ld-cris/tls-gc-69.d, ld-cris/tls-gc-70.d, ld-cris/tls-gc-71.d,
	ld-cris/tls-gc-71.s, ld-cris/tls-gc-75.d, ld-cris/tls-gc-76.d,
	ld-cris/tls-gc-76.s, ld-cris/tls-gd-1.d, ld-cris/tls-gd-1.s,
	ld-cris/tls-gd-1h.d, ld-cris/tls-gd-2.d, ld-cris/tls-gd-2.s,
	ld-cris/tls-gd-2h.d, ld-cris/tls-gd-3.d, ld-cris/tls-gd-3.s,
	ld-cris/tls-gd-3h.d, ld-cris/tls-gdgotrelm.s, ld-cris/tls-global-74.d,
	ld-cris/tls-gottprelm.s, ld-cris/tls-hx.s, ld-cris/tls-hx1x2.s,
	ld-cris/tls-ie-10.d, ld-cris/tls-ie-10.s, ld-cris/tls-ie-11.d,
	ld-cris/tls-ie-11.s, ld-cris/tls-ie-8.d, ld-cris/tls-ie-8.s,
	ld-cris/tls-ie-9.d, ld-cris/tls-ie-9.s, ld-cris/tls-ld-4.d,
	ld-cris/tls-ld-4.s, ld-cris/tls-ld-5.d, ld-cris/tls-ld-5.s,
	ld-cris/tls-ld-6.d, ld-cris/tls-ld-6.s, ld-cris/tls-ld-7.d,
	ld-cris/tls-ld-7.s, ld-cris/tls-ldgd-14.d, ld-cris/tls-ldgd-14.s,
	ld-cris/tls-ldgd-15.d, ld-cris/tls-ldgd-15.s, ld-cris/tls-ldgde-14.d,
	ld-cris/tls-ldgde-15.d, ld-cris/tls-ldgdex-14.d,
	ld-cris/tls-ldgdex-15.d, ld-cris/tls-ldgdx-14.d,
	ld-cris/tls-ldgdx-15.d, ld-cris/tls-le-12.d, ld-cris/tls-le-12.s,
	ld-cris/tls-le-12s.d, ld-cris/tls-le-12s.s, ld-cris/tls-le-13.d,
	ld-cris/tls-le-13.s, ld-cris/tls-le-13s.d, ld-cris/tls-le-13s.s,
	ld-cris/tls-legd-16.d, ld-cris/tls-legd-16.s, ld-cris/tls-legd-17.d,
	ld-cris/tls-legdx-16.d, ld-cris/tls-legdx-17.d, ld-cris/tls-leie-18.d,
	ld-cris/tls-leie-19.d, ld-cris/tls-leie-19.s, ld-cris/tls-local-54.d,
	ld-cris/tls-local-54.s, ld-cris/tls-local-57.d,
	ld-cris/tls-local-57.s, ld-cris/tls-local-58.d,
	ld-cris/tls-local-58.s, ld-cris/tls-local-59.d,
	ld-cris/tls-local-59.s, ld-cris/tls-local-60.d,
	ld-cris/tls-local-61.d, ld-cris/tls-local-63.d,
	ld-cris/tls-local-64.d, ld-cris/tls-ok-30.d, ld-cris/tls-ok-32.d,
	ld-cris/tls-ok-34.d, ld-cris/tls-ok-36.d, ld-cris/tls-tprelm.s,
	ld-cris/tls-und-38.d, ld-cris/tls-und-42.d, ld-cris/tls-und-46.d,
	ld-cris/tls-und-50.d, ld-cris/tls-x.s, ld-cris/tls-x1x2.s,
	ld-cris/tls-z.s, ld-cris/tls128.s, ld-cris/tls128g.s: New tests.
2008-11-25 04:10:48 +00:00
Hans-Peter Nilsson 100382c76e Implement TLS for CRIS.
* elf32-cris.c: Include limits.h.
	(TLSHOWTO16): Redefine in terms of and move contents to...
	(TLSHOWTO16X): New macro.
	(TLSHOWTO16S, LGOT_REG_NDX, LGOT_DTP_NDX, LGOT_ALLOC_NELTS_FOR)
	(elf_cris_hash_entry): New macros.
	(cris_elf_howto_table): Make R_CRIS_16_DTPREL,
	R_CRIS_16_GOT_TPREL, R_CRIS_16_TPREL check overflow for signed,
	not unsigned values.
	(cris_info_to_howto_rela): Make r_type a enum elf_cris_reloc_type,
	not unsigned int.
	(struct elf_cris_link_hash_entry): New members reg_got_refcount,
	tprel_refcount, and dtp_refcount.
	(struct elf_cris_link_hash_table): New member dtpmod_refcount.
	(elf_cris_link_hash_newfunc): Initialize new members.
	(elf_cris_link_hash_table_create): Similar.
	(cris_final_link_relocate, elf_cris_reloc_type_class): Use a
	temporary variable when testing the relocation type.
	(cris_elf_gc_mark_hook): Ditto.  Add default case where needed.
	(cris_elf_gc_sweep_hook): Ditto.  Handle reference-counting for
	the new assembly-generated relocs.  Rewrite refcount handling to
	set temporary variables to pointers to reloc-specific variables
	and entry size and common code for the update.
	(additional_relocation_error_msg_count): New variable.
	(cris_elf_relocate_section): Use a function-local variable srelgot
	for the .rela.got section instead of looking it up for every need.
	Make r_type a enum elf_cris_reloc_type, not int.  Actually set
	symname for non-local symbols.  Handle new assembly-generated
	relocs.  For overflow, emit additional messages for the new 16-bit
	relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT.
	(elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol
	instead of plain casts.  Check new hash entry member
	reg_got_refcount when checking whether to emit a GOT entry.
	(elf_cris_finish_dynamic_sections): Update head comment to warn
	about emitting relocs here.  Use a temporary variable when testing
	the relocation type.
	(elf_cris_discard_excess_program_dynamics)
	(elf_cris_adjust_gotplt_to_got): Handle reference counting change
	regarding h->reg_got_refcount.
	(cris_elf_check_relocs): Rewrite refcount handling to set
	temporary variables and entry size and common code for the update
	for local symbols.  Use new macro elf_cris_hash_entry.  Adjust
	allocation for change in reference counting of GOT entries for
	local symbols.
	(elf_cris_size_dynamic_sections): Adjust calculated size of
	.got.plt and .rela.got if we need a GOT entry for a
	R_CRIS_DTPMOD relocation.
	(elf_cris_got_elt_size): New function.
	(elf_backend_got_elt_size): Define.
2008-11-25 04:02:12 +00:00
Hans-Peter Nilsson a973d22c63 * cris.h (R_CRIS_32_TPREL): Correct comment.
(R_CRIS_DTPMOD): Open up for use elsewhere than the fourth GOT entry.
2008-11-25 03:08:13 +00:00
Hans-Peter Nilsson 05ec1b4df2 * ld-cris/start1.s: Prepend register name with $.
* ld-cris/dso-1.s, ld-cris/libdso-1.d, ld-cris/libdso-11.d,
	ld-cris/libdso-2.d, ld-cris/pv32.s, ld-cris/undef1.d: Correct
	.size expressions and adjust expected output accordingly.
2008-11-25 02:27:29 +00:00