summaryrefslogtreecommitdiff
path: root/source/d/binutils/release.binutils-2.20.51.0.8
blob: d3d2bd8a7d0cce623a2da7e0e3057253c2bc4a3b (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
This is the beta release of binutils 2.20.51.0.8 for Linux, which is
based on binutils 2010 0412 in CVS on sourceware.org plus various
changes. It is purely for Linux.

All relevant patches in patches have been applied to the source tree.
You can take a look at patches/README to see what have been applied and
in what order they have been applied.

Starting from the 2.20.51.0.4 release, no diffs against the previous
release will be provided.

You can enable both gold and bfd ld with --enable-gold=both.  Gold will
be installed as ld.gold and bfd ld will be installed as ld.bfd.  By
default, ld.gold will be installed as ld.  You can use the configure
option, --enable-gold=both/bfd to choose bfd ld as the default linker,
ld.  IA-32 binary and X64_64 binary tar balls are configured with
--enable-gold=both/bfd --enable-plugins --enable-threads.

Starting from the 2.18.50.0.4 release, the x86 assembler no longer
accepts

	fnstsw %eax

fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged.
Please use

	fnstsw %ax

Starting from the 2.17.50.0.4 release, the default output section LMA
(load memory address) has changed for allocatable sections from being
equal to VMA (virtual memory address), to keeping the difference between
LMA and VMA the same as the previous output section in the same region.

For

.data.init_task : { *(.data.init_task) }

LMA of .data.init_task section is equal to its VMA with the old linker.
With the new linker, it depends on the previous output section. You
can use

.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) }

to ensure that LMA of .data.init_task section is always equal to its
VMA. The linker script in the older 2.6 x86-64 kernel depends on the
old behavior.  You can add AT (ADDR(section)) to force LMA of
.data.init_task section equal to its VMA. It will work with both old
and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and
above is OK.

The new x86_64 assembler no longer accepts

	monitor %eax,%ecx,%edx

You should use

	monitor %rax,%ecx,%edx

or
	monitor

which works with both old and new x86_64 assemblers. They should
generate the same opcode.

The new i386/x86_64 assemblers no longer accept instructions for moving
between a segment register and a 32bit memory location, i.e.,

	movl (%eax),%ds
	movl %ds,(%eax)

To generate instructions for moving between a segment register and a
16bit memory location without the 16bit operand size prefix, 0x66,

	mov (%eax),%ds
	mov %ds,(%eax)

should be used. It will work with both new and old assemblers. The
assembler starting from 2.16.90.0.1 will also support

	movw (%eax),%ds
	movw %ds,(%eax)

without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
available at

http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch

The ia64 assembler is now defaulted to tune for Itanium 2 processors.
To build a kernel for Itanium 1 processors, you will need to add

ifeq ($(CONFIG_ITANIUM),y)
	CFLAGS += -Wa,-mtune=itanium1
	AFLAGS += -Wa,-mtune=itanium1
endif

to arch/ia64/Makefile in your kernel source tree.

Please report any bugs related to binutils 2.20.51.0.8 to
hjl.tools@gmail.com

and

http://www.sourceware.org/bugzilla/

Changes from binutils 2.20.51.0.7:

1. Update from binutils 2010 0412.
2. Don't bind unique symbol locally. PR 11434.
3. Add DWARF 4 support to linker and readelf.
4. Fix --no-export-dynamic for PIE. PR 11413.
5. Speed up x86 assembler.
6. Use memmove instead of memcpy to copy overlap memory in assembler.
PR 11456.
7. Improve gold.
8. Improve VMS support.
9. Improve PE support.
10. Add TI C6X support.
11. Improve arm support.
12. Improve cris support.
13. Improve ppc support.

Changes from binutils 2.20.51.0.6:

1. Update from binutils 2010 0318.
2. Don't set ELFOSABI_LINUX for undefined STT_GNU_IFUNC symbols.
3. Improve x86 assembler error messages.
4. Support vpermilp[ds] for x86.
5. Fix strip for group sections.
6. Fix objcopy for PE PIE.  PR 11396.
7. Avoid 32bit overflow in linker.
8. Correct backslash quote logic in assembler.  PR 11356.
9. Improve linker --section-start support.  PR 11304.
10. Properly update LMA.  PR 11219.
11. Don't combine .init_array/.fini_array sections for relocatable link.
12. Add Solaris Sparc/x86 linker support.
13. Support dumping .ARM.exidx/.ARM.extab.
14. Add STT_GNU_IFUNC support for Sparc.
15. Improve gold.
16. Improve arm support.
17. Improve avr support.
18. Improve mips support.
19. Improve ppc support.
20. Improve xtensa support.

Changes from binutils 2.20.51.0.5:

1. Update from binutils 2010 0205.
2. Support x86 XSAVE extended state core dump.
3. Add an option, -mavxscalar=, to x86 assembler to encoding AVX
scalar instructions with VL=256 and update x86 disassembler.
4. Add xsave64/xrstor64 to x86 assembler/disassembler.
5. Add all the possible aliases for VPCOM* insns to x86 assembler.
5. Fix --gc-sections to detect unresolved symbol in DSO.  PR 11218.
6. Support number of ELF program segments > 64K.
7. Support BSD4.4 extended archive write.
8. Report error on bad section name with "objdump -j". PR 11225.
9. Linker now checks if all files are present and indicates those missing.
PR 4437.
10. Allow adding section from empy file with objcopy.
11. Update C++ demangler to support vector.
12. Improve gold.
13. Improve arm support.
14. Improve hppa support.
15. Improve ppc support.
16. Improve s390 support.

Changes from binutils 2.20.51.0.4:

1. Update from binutils 2010 0115.
2. Optimize x86 assembler/disassembler.
3. Add a new program, elfedit, to edit ELF files.  PR 11131.
4. Add --dyn-syms to readelf.  PR 11146.
5. Remove "Warning: " from objcopy error message.  PR 11130.
6. Fix linker --gc-sections with undefined __start_XXX/__stop_XXX symbols.
PR 11133.
7. Fix linker --gc-sections with SHT_NOTE section.  PR 11143.
8. Fix a c++filt bug.  PR 11137.
9. Fix assembler listing.  PR 11122.
10. Improve gold. Change --enable-gold to --enable-gold=[both[/{gold,bfd}]].
11. Improve arm support.
12. Improve mips support.
13. Improve ppc support.
14. Improve MacOS support.

Changes from binutils 2.20.51.0.3:

1. Update from binutils 2009 1214.
2. Update x86 assembler to check lockable instructions for lock prefix.
3. Update x86 disassembler to display all prefixes.
4. Support AMD XOP new instructions.
5. Fix an x86 assembler regression on Intel syntax.  PR 11037.
6. Improve ia64 linker relaxation.  PR 10955.
7. Add --no-relax linker option.
8. Update readelf to dump .debug_pubtype sections.
9. Improve gold:
	a. Support linking against STT_GNU_IFUNC symbols defined in
	   shared libraries.
	b. Support linking with STB_GNU_UNIQUE symbols.
10. Improve arm support.
11. Improve m68k support.
12. Improve mips support.
13. Improve ppc support.

Changes from binutils 2.20.51.0.2:

1. Update from binutils 2009 1109.
2. Fix "ld -s -static" with STT_GNU_IFUNC symbols.  PR 10911.
3. Fix file permission on PIE with objcopy. PR 10802.
4. Fix x86 Intel syntax assembler with relocation.  PR 10856.
5. Fix x86 Intel syntax assembler with far jump.  PR 10740.
6. Add AMD LWP support.
7. Renamed linker option --add-needed to --copy-dt-needed-entries.
8. Support enabling both ld and gold with --enable-gold=both and
--enable-linker=[bfd,gold].
9. Improve gold.
10. Improve arm support.
11. Improve cris support.
12. Improve hppa support.
13. Improve m68k support.
14. Improve RX support.
15. Improve spu support.
16. Improve vax support.
17. Improve MacOS support.
18. Improve Windows support.

Changes from binutils 2.20.51.0.1:

1. Update from binutils 2009 1009.
2. Add .cfi_sections to assembler.
3. Fix a linker bug with local dynamic symbols. PR 10630.
4. Add DWARF-3/DWARF-4 support.
5. Fix the x86 assembler PIC bug. PR 10677.
6. Fix the x86-64 displacement assembler bug.  PR 10636.
7. Fix the x86 assembler bug with Intel memory syntax.  PR 10637.
8. Fix the x86 PIC assembler bug with Intel syntax. PR 10704.
9. Add RX support.
10. Improve gold.
11. Improve arm support.
12. Improve bfin support.
13. Improve cr16 support.
14. Improve m68k support.
15. Improve mips support.
16. Improve ppc support.

Changes from binutils 2.19.51.0.14:

1. Update from binutils 2009 0905.
2. Add Intel L1OM support.
3. Add MicroBlaze support.
4. Fix assembler for DWARF info without .file/.loc directives.  PR 10531.
5. Improve -pie with TLS relocations on ia32 and x86-64.  PRs 6443/10434.
6. Fix linker page size support.  PR 10569.
7. Fix wildcard in linker version script.  PR 10518.
8. Fix strip with STB_GNU_UNIQUE. PR 10492.
9. Fix strip on unwriteable files.  PR 10364.
10. Fix crash with "ld --build-id /usr/lib/libc.a".  PR 10555.
11. Fix linker for Linux kernel build.  PR 10429.
12. Support string merge on .comment section.
13. Improve build with C++ compiler.
14. Improve gold.
15. Improve arm support.
16. Improve bfin support.
11. Improve m32c support.
17. Improve m68k support.
18. Improve mep support.
19. Improve mips support.
20. Improve ppc support.
21. Improve spu support.
22. Improve xtensa support.

Changes from binutils 2.19.51.0.13:

1. Update from binutils 2009 0722.
2. Fix linker for STT_GNU_IFUNC symbols in static executables.  PR 10433.
3. Fix linker bug for Linux kernel build.  PR 10429.

Changes from binutils 2.19.51.0.12:

1. Update from binutils 2009 0721.
2. Fix linker for undefined STT_GNU_IFUNC symbols.  PR 10426.
3. Fix x86 assembler for nops in 64bit.  PR 10420.
4. Add a new option, --insn-width, to objdump.
5. Improve arm support.
6. Improve mips support.
7. Improve gold support.

Changes from binutils 2.19.51.0.11:

1. Update from binutils 2009 0716.
2. Fix x86 assembler for jumping to local STT_GNU_IFUNC symbols.
3. Fix x86 linker for relocatable link with local STT_GNU_IFUNC symbols.
4. Implement ppc STT_GNU_IFUNC support.
5. Support x86 FMA4.
6. Fix linker regression with Linux kernel build.
7. Support unordered references in DWARF reader.
8. Improve PE/COFF support.
8. Improve arm support.
9. Improve m10300 support.
10. Improve ppc support.
11. Improve spu support.
12. Improve gold support.

Changes from binutils 2.19.51.0.10:

1. Update from binutils 2009 0627.
2. Fix strip on static executable with STT_GNU_IFUNC symbol.  PR 10337.
3. Add STB_GNU_UNIQUE support.
4. Fix objcopy on empty file.  PR 10321.
5. Fix debug section for PE-COFF.
6. Suport build with gcc 4.5.0.
7. Improve arm support.
8. Improve ppc support.
9. Improve m10300 support.
10. Improve mep support.
11. Improve MacOS support.
12. Improve gold support.

Changes from binutils 2.19.51.0.9:

1. Update from binutils 2009 0618.
2. Update STT_GNU_IFUNC symbol support.  PR 10269/10270.
3. Fix an assembler CFI bug.  PR 10255.
4. Improve objdump.  PR 10263/10288
5. Improve readelf.
6. Improve arm support.
7. Improve moxie support.
8. Improve spu support.
9. Improve vax support.
10. Improve COFF/PE support.
11. Improve MacOS support.

Changes from binutils 2.19.51.0.8:

1. Update from binutils 2009 0606.
2. Update STT_GNU_IFUNC symbol support.

Changes from binutils 2.19.51.0.7:

1. Update from binutils 2009 0603.
2. Fix STT_GNU_IFUNC symbol with pointer equality.

Changes from binutils 2.19.51.0.6:

1. Update from binutils 2009 0601.
2. Update STT_GNU_IFUNC support. PR 10205.
3. Fix x86 asssembler Intel syntax regression with '$'. PR 10198.

Changes from binutils 2.19.51.0.5:

1. Update from binutils 2009 0529.
2. Rewrite STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE linker
support for STT_GNU_IFUNC symbols in shared library, dynamic executable
and static executable.
3. Add plugin support.
4. Improve spu support.

Changes from binutils 2.19.51.0.4:

1. Update from binutils 2009 0525.
2. Add STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE support to
assembler and linker.
3. Add LD_AS_NEEDED support to linker.
4. Remove AMD SSE5 support.
5. A new Intel syntax parser in x86 assembler.
6. Add DWARF discriminator support.
7. Add --64 support for x86 PE/COFF assembler.
8. Support common symbol with alignment for PE/COFF.
9. Improve gold support.
10. Improve arm support.
11. Improve mep support.
12. Improve mips support.
13. Improve ppc support.
14. Improve spu support.

Changes from binutils 2.19.51.0.3:

1. Update from binutils 2009 0418.
2. Remove EFI targets and use PEI targets for EFI. Add --file-alignment,
--heap, --image-base, --section-alignment, --stack and --subsystem command
line options for objcopy.  PR 10074.
3. Update linker to warn alternate ELF machine code.
4. Fix x86 linker TLS transition.  PR 9938.
5. Improve DWARF dumper to check relocations against STT_SECTION
symbol.
6. Guard DWARF dumper on bad DWARF input.
7. Add EM_ETPU and EM_SLE9X.  Reserve 3 ELF machine types for Intel.
8. Adding a linker missing entry symbol warning for -pie. PR 9970.
9. Make the -e option for linker to imply -u.  PR 6766.
10. Properly handle paging for PEI targets.
11. Fix assembler listing with input from stdin.
12. Update objcopy/string to generate symbol table if there is any
relocation in output.  PR 9945.
13. Require texinfo 4.7 for build.  PR 10039.
14. Add moxie support.
15. Improve gold support.
16. Improve AIX support.
17. Improve arm support.
18. Improve cris support.
19. Improve crx support.
20. Improve mips support.
21. Improve ppc support.
22. Improve s390 support.
23. Improve spu support.
24. Improve vax support.

Changes from binutils 2.19.51.0.2:

1. Update from binutils 2009 0310.
2. Fix strip on common symbols in relocatable file.  PR 9933.
3. Fix --enable-targets=all build.
4. Fix ia64 build with -Wformat-security.  PR 9874.
5. Add REGION_ALIAS support in linker script.
6. Add think archive support to readelf.
7. Improve DWARF support in objdump.
8. Improve alpha support.
9. Improve arm support.
10. Improve hppa support.
11. Improve m68k support.
12. Improve mips support.
13. Improve ppc support.
14. Improve xtensa support.
15. Add score 7 support.

Changes from binutils 2.19.51.0.1:

1. Update from binutils 2009 0204.
2. Support AVX Programming Reference (January, 2009)
3. Improve .s suffix support in x86 disassembler.
4. Add --prefix/--prefix-strip for objdump -S.  PR 9784.
5. Change "ld --as-needed" to resolve undefined references in DSO.
6. Add -Ttext-segment to ld to set address of text segment.
7. Fix "ld -r --gc-sections --entry" crash with COMDAT group.  PR 9727.
8. Improve linker compatibility for g++ 3.4 `.gnu.linkonce.r.*.
9. Add VMS/ia64 support.
10. Improve arm support.
11. Improve cris support.
12. Improve m68k support.
13. Improve mips support.
14. Improve spu support.

Changes from binutils 2.19.50.0.1:

1. Update from binutils 2009 0106.
2. Support AVX Programming Reference (December, 2008)
2. Encode AVX insns with 2byte VEX prefix if possible.
4. Add .s suffix support to swap register operands to x86 assembler.
5. Properly select NOP insns for code alignment in x86 assembler.
6. Fix 2 symbol visibility linker bugs.  PRs 9676/9679.
7. Fix an ia64 linker relaxation bug.  PR 7036.
8. Fix a symbol versioning bug. PR 7047.
9. Fix unitialized data in linker.  PR 7028.
10. Avoid a linker crash on bad input.  PR 7023.
11. Fix a linker memory leak.  PR 7012.
12. Fix strip/objcopy crash on PT_GNU_RELRO.  PR 7011.
13. Improve MacOS support.
14. Fix a COFF linker bug.  PR 6945.
15. Add LM32 support.
16. Fix various arm bugs.
17. Fix various avr bugs.
18. Fix various CR16  bugs.
19. Fix various cris bugs.
20. Fix various m32c bugs.
21. Fix various m68k bugs.
22. Fix various mips bugs.
23. Fix various ppc bugs.
24. Fix various s390 bugs.
25. Fix various sparc bugs.
26. Fix various spu bugs.
27. Fix various xtensa bugs.

The file list:

1. binutils-2.20.51.0.8.tar.bz2. Source code.
2. binutils-2.20.51.0.8.i686.tar.bz2. IA-32 binary tar ball for RedHat
   EL 5.
3. binutils-2.20.51.0.8.ia64.tar.bz2. IA-64 binary tar ball for RedHat
   EL 5.
4. binutils-2.20.51.0.8.x86_64.tar.bz2. X64_64 binary tar ball for RedHat
   EL 5.

The primary sites for the beta Linux binutils are:

1. http://www.kernel.org/pub/linux/devel/binutils/

Thanks.


H.J. Lu
hjl.tools@gmail.com
04/13/2010