4b8c9f3302737737c6acb31fa24f584cc3980cf8
[external/binutils.git] / ChangeLog.csl
1 2005-04-08  Mark Mitchell <mark@codesourcery.com>
2
3         * ld/configure.tgt (arm-wrs-linux-gnueabi*): Support both big- and
4         little-endian.
5         
6 2005-04-08  Paul Brook  <paul@codesourcery.com>
7
8         * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
9         (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
10         (ARM2THUMB_PIC_GLUE_SIZE): Define.
11         (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
12         (elf32_arm_to_thumb_stub): Create PIC stubs.
13         (record_arm_to_thumb_glue): Use different stub size for relocatable
14         images.
15
16 2005-03-29  Julian Brown  <julian@codesourcery.com>
17
18         * elf32-arm.c (elf32_arm_final_link_relocate): Use blx to get to
19         symbian plt entries from thumb mode.
20
21 2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
22             Phil Blundell  <philb@gnu.org>
23
24         * bfd/bfd-in2.h, libbfd.h: Regenerated.
25         * bfd/reloc.c: Add ARM TLS relocations.
26         * bfd/elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
27         relocations.
28         (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
29         (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
30         (elf32_arm_tls_ie32_howto): New.
31         (elf32_arm_howto_from_type): Support TLS relocations.
32         (elf32_arm_reloc_map): Likewise.
33         (elf32_arm_reloc_type_lookup): Likewise.
34         (TCB_SIZE): Define.
35         (struct elf32_arm_obj_tdata): New.
36         (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
37         (elf32_arm_mkobject): New function.
38         (struct elf32_arm_relocs_copied): Add pc_count.
39         (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
40         (GOT_TLS_IE): Define.
41         (struct elf32_arm_link_hash_table): Add tls_ldm_got.
42         (elf32_arm_link_hash_newfunc): Initialize tls_type.
43         (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
44         (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
45         (dtpoff_base, tpoff): New functions.
46         (elf32_arm_final_link_relocate): Handle TLS relocations.
47         (IS_ARM_TLS_RELOC): Define.
48         (elf32_arm_relocate_section): Warn about TLS mismatches.
49         (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
50         (elf32_arm_check_relocs): Detect invalid symbol indexes.  Handle
51         TLS relocations and pc_count.
52         (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
53         (allocate_dynrelocs): Handle TLS.  Bind REL32 relocs to local
54         calls.
55         (elf32_arm_size_dynamic_sections): Handle TLS.
56         (elf32_arm_finish_dynamic_symbol): Likewise.
57         (bfd_elf32_mkobject): Define.
58
59         * gas/config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
60         (md_apply_fix3): Mark TLS symbols.
61         (tc_gen_reloc): Handle TLS relocations.
62         (arm_fix_adjustable): Ignore TLS relocations.
63         (s_arm_elf_cons): Support expressions after decorated symbols.
64
65         * gas/testsuite/gas/arm/tls.s, gas/testsuite/gas/arm/tls.d: New files.
66         * gas/testsuite/gas/arm/arm.exp: Run TLS test.
67
68         * include/elf/arm.h: Add TLS relocations.
69
70         * ld/testsuite/ld-arm/tls-lib.s, ld/testsuite/ld-arm/tls-lib.d,
71         ld/testsuite/ld-arm/tls-lib.r, ld/testsuite/ld-arm/tls-app.s,
72         ld/testsuite/ld-arm/tls-app.d, ld/testsuite/ld-arm/tls-app.r: New files.
73         * ld/testsuite/ld-arm/arm-lib.ld, ld/testsuite/ld-arm/arm-dyn.ld:
74         Increase data segment alignment.
75         * ld/testsuite/ld-arm/arm-elf.exp: Run TLS tests.
76
77 2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
78
79         * bfd/elf32-arm.c (elf32_arm_check_relocs): Increment count for all
80         relocation types.  Don't count relocations which will use a PLT.
81
82 2005-03-23  Jim Blandy  <jimb@redhat.com>
83
84         * config/tc-arm.c (arm_adjust_symtab): Fetch elf_sym's binding
85         attributes properly.
86
87 2005-03-21  Nick Clifton  <nickc@redhat.com>
88
89         * gas/testsuite/gas/arm/iwmmxt.s: Update instructions that use the "never" value
90         in the conditional field to use "le" instead.  This is so that the
91         disassembler will disassemble them.
92         * gas/testsuite/gas/arm/iwmmxt.d: Update expected disassemblies.
93
94 2005-03-18  Julian Brown  <julian@codesourcery.com>
95
96         * ld/scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
97         .rel.fini_array.
98         (.rela.dyn): Add .rela.init_array, .rela.fini_array.
99         (SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.
100
101 2005-03-16  Daniel Jacobowitz  <dan@codesourcery.com>
102
103         * gas/configure.tgt: Set emulation for arm-*-eabi*.
104         * gas/config/tc-arm.c (meabi_flags): Check EABI_DEFAULT.
105         * gas/config/te-armeabi.h: New file.
106         * gas/config/te-armlinuxeabi.h (EABI_DEFAULT): Define.
107         * gas/config/te-symbian.h: Include "te-armeabi.h".
108
109 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
110
111         * gas/config/tc-arm.c (do_mla): Rename to do_mlas, take second
112         is_mls parameter; do not diagnose Rm==Rd when is_mls.
113         (do_mla, do_mls, five_bit_unsigned_immediate, bfci_lsb_and_width)
114         (do_bfc, do_bfi, do_bfx, do_rbit, do_mov16, do_ldsttv4): New functions.
115         (insns): Add ARMv6T2 instructions:
116         bfc bfi mls movw movt rbit sbfx ubfx ldrht ldrsht ldrsbt strht.
117         (arm_archs): Add V6T2 variants.
118
119 2005-03-12  Zack Weinberg  <zack@codesourcery.com>
120
121         * gas/config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
122         wfi, yield.
123
124         * opcodes/arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
125         wfe, wfi, yield.
126
127         * gas/testsuite/gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
128         * gas/testsuite/gas/arm/arm.exp: Run it.
129
130 2005-03-12  Zack Weinberg  <zack@codesourcery.com>
131
132         * opcodes/arm-dis.c (arm_opcodes): Document %E and %V.
133         Add entries for v6T2 ARM instructions:
134         bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
135         (print_insn_arm): Add support for %E and %V.
136
137         * include/opcode/arm.h: Adjust comments for ARM_EXT_V4T and ARM_EXT_V5T.
138         Add ARM_EXT_V6T2, ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2,
139         and ARM_ARCH_V6ZKT2.