summaryrefslogtreecommitdiff
path: root/ChangeLog.csl
blob: b32d247b1d845f5e64ca57c9f116142d7055d8f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
2005-03-29  Julian Brown  <julian@codesourcery.com>

	* elf32-arm.c (elf32_arm_final_link_relocate): Use blx to get to
	symbian plt entries from thumb mode.

2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
	    Phil Blundell  <philb@gnu.org>

	* bfd/bfd-in2.h, libbfd.h: Regenerated.
	* bfd/reloc.c: Add ARM TLS relocations.
	* bfd/elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
	relocations.
	(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
	(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
	(elf32_arm_tls_ie32_howto): New.
	(elf32_arm_howto_from_type): Support TLS relocations.
	(elf32_arm_reloc_map): Likewise.
	(elf32_arm_reloc_type_lookup): Likewise.
	(TCB_SIZE): Define.
	(struct elf32_arm_obj_tdata): New.
	(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
	(elf32_arm_mkobject): New function.
	(struct elf32_arm_relocs_copied): Add pc_count.
	(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
	(GOT_TLS_IE): Define.
	(struct elf32_arm_link_hash_table): Add tls_ldm_got.
	(elf32_arm_link_hash_newfunc): Initialize tls_type.
	(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
	(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
	(dtpoff_base, tpoff): New functions.
	(elf32_arm_final_link_relocate): Handle TLS relocations.
	(IS_ARM_TLS_RELOC): Define.
	(elf32_arm_relocate_section): Warn about TLS mismatches.
	(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
	(elf32_arm_check_relocs): Detect invalid symbol indexes.  Handle
	TLS relocations and pc_count.
	(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
	(allocate_dynrelocs): Handle TLS.  Bind REL32 relocs to local
	calls.
	(elf32_arm_size_dynamic_sections): Handle TLS.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject): Define.

	* gas/config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
	(md_apply_fix3): Mark TLS symbols.
	(tc_gen_reloc): Handle TLS relocations.
	(arm_fix_adjustable): Ignore TLS relocations.
	(s_arm_elf_cons): Support expressions after decorated symbols.

	* gas/testsuite/gas/arm/tls.s, gas/testsuite/gas/arm/tls.d: New files.
	* gas/testsuite/gas/arm/arm.exp: Run TLS test.

	* include/elf/arm.h: Add TLS relocations.

	* ld/testsuite/ld-arm/tls-lib.s, ld/testsuite/ld-arm/tls-lib.d,
	ld/testsuite/ld-arm/tls-lib.r, ld/testsuite/ld-arm/tls-app.s,
	ld/testsuite/ld-arm/tls-app.d, ld/testsuite/ld-arm/tls-app.r: New files.
	* ld/testsuite/ld-arm/arm-lib.ld, ld/testsuite/ld-arm/arm-dyn.ld:
	Increase data segment alignment.
	* ld/testsuite/ld-arm/arm-elf.exp: Run TLS tests.

2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* bfd/elf32-arm.c (elf32_arm_check_relocs): Increment count for all
	relocation types.  Don't count relocations which will use a PLT.

2005-03-23  Jim Blandy  <jimb@redhat.com>

	* config/tc-arm.c (arm_adjust_symtab): Fetch elf_sym's binding
	attributes properly.

2005-03-21  Nick Clifton  <nickc@redhat.com>

	* gas/testsuite/gas/arm/iwmmxt.s: Update instructions that use the "never" value
	in the conditional field to use "le" instead.  This is so that the
	disassembler will disassemble them.
	* gas/testsuite/gas/arm/iwmmxt.d: Update expected disassemblies.

2005-03-18  Julian Brown  <julian@codesourcery.com>

	* ld/scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
	.rel.fini_array.
	(.rela.dyn): Add .rela.init_array, .rela.fini_array.
	(SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.

2005-03-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* gas/configure.tgt: Set emulation for arm-*-eabi*.
	* gas/config/tc-arm.c (meabi_flags): Check EABI_DEFAULT.
	* gas/config/te-armeabi.h: New file.
	* gas/config/te-armlinuxeabi.h (EABI_DEFAULT): Define.
	* gas/config/te-symbian.h: Include "te-armeabi.h".

2005-03-15  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (do_mla): Rename to do_mlas, take second
	is_mls parameter; do not diagnose Rm==Rd when is_mls.
	(do_mla, do_mls, five_bit_unsigned_immediate, bfci_lsb_and_width)
	(do_bfc, do_bfi, do_bfx, do_rbit, do_mov16, do_ldsttv4): New functions.
	(insns): Add ARMv6T2 instructions:
	bfc bfi mls movw movt rbit sbfx ubfx ldrht ldrsht ldrsbt strht.
	(arm_archs): Add V6T2 variants.

2005-03-12  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
	wfi, yield.

	* opcodes/arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
	wfe, wfi, yield.

	* gas/testsuite/gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
	* gas/testsuite/gas/arm/arm.exp: Run it.

2005-03-12  Zack Weinberg  <zack@codesourcery.com>

	* opcodes/arm-dis.c (arm_opcodes): Document %E and %V.
	Add entries for v6T2 ARM instructions:
	bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
	(print_insn_arm): Add support for %E and %V.

	* include/opcode/arm.h: Adjust comments for ARM_EXT_V4T and ARM_EXT_V5T.
	Add ARM_EXT_V6T2, ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2,
	and ARM_ARCH_V6ZKT2.