Improve orphaned TLS section handling
[platform/upstream/binutils.git] / ld / ChangeLog
1 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR ld/16498
4         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
5         orphaned TLS section handling.
6
7 2014-01-24  Alan Modra  <amodra@gmail.com>
8
9         * ldlang.c (lang_output_section_find_by_flags): Be careful to
10         test look->bfd_section->flags if available rather than
11         look->flags.  Separate SEC_THREAD_LOCAL handling from
12         SEC_READONLY loop, and rewrite.
13
14 2014-01-22  Alan Modra  <amodra@gmail.com>
15
16         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
17         (lang_init): Initialise them.
18         (lang_print_asneeded): New function.
19         (lang_process): Call lang_print_asneeded.
20         * ldlang.h (struct asneeded_minfo): New.
21         (asneeded_list_tail): Declare.
22         * ldmain.c (add_archive_element): Improve archive map heading.
23         * ldmisc.c (minfo): Stash --as-needed info.
24
25 2014-01-22  Alan Modra  <amodra@gmail.com>
26
27         * ld.h (struct map_symbol_def): Move to..
28         * ldlang.h: ..here.
29         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
30
31 2014-01-22  Alan Modra  <amodra@gmail.com>
32
33         * ld.texinfo (Output Section Discarding): Mention assigning to dot
34         as a way of keeping otherwise empty sections.
35         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
36         is_dot_plus_0, is_align_conditional): New predicates.
37         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
38         output section, except for some special cases.
39         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
40         end of .heap and .stack.
41
42 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
43
44         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
45
46 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
47
48         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
49
50 2014-01-20  Alan Modra  <amodra@gmail.com>
51
52         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
53         by_script.  Make iteration a single bit field.
54         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
55         (lang_symbol_defined): Declare.
56         * ldlang.c (lang_statement_iteration): Expand comment a little.
57         (lang_init <lang_definedness_table>): Make it bigger.
58         (lang_track_definedness, lang_symbol_definition): Delete.
59         (lang_definedness_newfunc): Update.
60         (lang_symbol_defined): New function.
61         (lang_update_definedness): Create entries here.  Do track whether
62         script definition of symbol is valid, even when also defined in
63         an object file.
64         * ldexp.c (fold_name <DEFINED>): Update.
65         (fold_name <NAME>): Allow self-assignment for absolute symbols
66         defined in a linker script.
67
68 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
69             Alan Modra  <amodra@gmail.com>
70
71         * ldlang.h (lang_output_section_get): Define.
72         * ldlang.c (lang_output_section_get): Likewise.
73         (init_os): Set the output_section userdata to the output
74         section statement.
75         * emultempl/hppaelf.em: Use lang_output_section_get instead of
76         lang_output_section_find where applicable.
77         * emultempl/aarch64elf.em: Likewise.
78         * emultempl/aix.em: Likewise.
79         * emultempl/armelf.em: Likewise.
80         * emultempl/m68hc1xelf.em: Likewise.
81         * emultempl/metagelf.em: Likewise.
82         * emultempl/mipself.em: Likewise.
83         * emultempl/ppc64elf.em: Likewise.
84         * emultempl/spuelf.em: Likewise.
85
86 2014-01-17  Alan Modra  <amodra@gmail.com>
87
88         * genscripts.sh (COMPILE_IN): Don't set if already set.
89         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
90         COMPILE_IN=no.
91         * emulparams/nds32elf16m.sh: Likewise.
92         * emulparams/nds32elf_linux.sh: Likewise.
93         * emultempl/aix.em: Test COMPILE_IN value is "yes".
94         * emultempl/armcoff.em: Likewise.
95         * emultempl/elf32.em: Likewise.
96         * emultempl/generic.em: Likewise.
97         * emultempl/gld960.em: Likewise.
98         * emultempl/gld960c.em: Likewise.
99         * emultempl/linux.em: Likewise.
100         * emultempl/lnk960.em: Likewise.
101         * emultempl/m68kcoff.em: Likewise.
102         * emultempl/sunos.em: Likewise.
103         * emultempl/ticoff.em: Likewise.
104
105 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
106
107         PR ld/16456
108         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
109         suffix.
110         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
111         for elf32_x86_64 emulation.
112         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
113         for elf_i386 emulation.
114
115 2014-01-16  Alan Modra  <amodra@gmail.com>
116
117         * ld.h (fat_section_userdata_type, get_userdata): Move to..
118         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
119         * ldlang.c (init_map_userdata): Delete.  Fold into..
120         (sort_def_symbol): ..here.  Don't attach input section userdata
121         to output sections or global bfd sections.
122         (lang_map): Don't pre-allocate input section userdata.
123         (init_os): Don't allocate userdata for output sections.
124         (print_all_symbols): Update.
125
126 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
127
128         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
129         Silence uninitialized warning on ehdr_start_save with older
130         GCC.
131
132 2014-01-15  Alan Modra  <amodra@gmail.com>
133
134         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
135         __ehdr_start before size_dynamic_sections and restore afterwards.
136
137 2014-01-10  Alan Modra  <amodra@gmail.com>
138
139         PR ld/14207
140         PR ld/16322
141         PR binutils/16323
142         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
143         adjust.  Tidy comments.
144         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
145
146 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
147
148         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
149
150 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
151
152         PR ld/14207
153         PR ld/16322
154         PR binutils/16323
155         * ldlang.c (lang_size_sections): Properly align RELRO base.
156
157 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
158
159         * ldver.c (ldversion): Update copyright year to 2014.
160
161 For older changes see ChangeLog-2013
162 \f
163 Copyright (C) 2014 Free Software Foundation, Inc.
164
165 Copying and distribution of this file, with or without modification,
166 are permitted in any medium without royalty provided the copyright
167 notice and this notice are preserved.
168
169 Local Variables:
170 mode: change-log
171 left-margin: 8
172 fill-column: 74
173 version-control: never
174 End: