1 2010-08-19 Alan Modra <amodra@gmail.com>
3 * ld.texinfo (Expression Section): Detail expression evaluation.
4 (Builtin Functions <ADDR>): Correct.
5 (Builtin Functions <LOADADDR>): Don't mention LOADADDR normally
7 (Builtin Functions <SEGMENT_START>): Typo fix.
8 * ldexp.c (new_number): New function.
9 (make_abs, exp_get_abs_int): Cope with NULL expld.result.section.
10 (fold_unary <'~', '!', '-'>): Don't make_abs.
11 (fold_binary): Simplify result section logic. Return NULL section
13 (fold_binary <SEGMENT_START>): Use new_rel_from_abs to set value to
15 (fold_name <SIZEOF_HEADERS>): Return new_number, not new_abs.
16 (fold_name <DEFINED, SIZEOF, ALIGNOF, LENGTH, CONSTANT>): Likewise.
17 (fold_name <NAME>): No need to handle absolute symbols differently
19 (fold_name <ORIGIN>): Don't return valid result when
20 lang_first_phase_enum. Return new_rel_from_abs, not new_abs.
21 (exp_fold_tree_1 <etree_value>): Return new_number, not new_rel.
22 (exp_fold_tree_1): Ajust for NULL expld.result.section. When assigning
23 a plain number to dot, assume the value is relative to expld.section.
24 Make terms not in an output section, absolute.
25 * ldlang.c (print_assignment): Fix style nit.
26 (lang_size_sections_1): Cope with NULL expld.result.section.
27 (lang_do_assignments_1): Likewise.
29 2010-08-12 Alan Modra <amodra@gmail.com>
31 * ldexp.c (new_rel): Remove "str". Update all call sites.
32 (exp_fold_tree_1): When assigning to dot, calculate nextdot
33 using expld.result.section rather than expld.section.
35 2010-08-06 Alan Modra <amodra@gmail.com>
38 * ldlang.c (lang_add_vers_depend): Don't leave version_needed
41 2010-07-28 Alan Modra <amodra@gmail.com>
43 * ldexp.c (exp_print_tree): Print function-like binary nodes as
44 functions rather than in-fix operators. Use fputs and fputc
47 2010-07-23 Naveen.H.S <naveen.S@kpitcummins.com>
48 Ina Pandit <ina.pandit@kpitcummins.com>
50 * configure.tgt: Match all v850 targets.
52 2010-07-20 Mike Frysinger <vapier@gentoo.org>
54 * ld.texinfo (VERSION): Remove "int" from example script and add ";".
55 Declare the default language as C.
57 2010-07-17 Alan Modra <amodra@gmail.com>
59 * ldlang.c (lang_check_section_addresses): Catch overlap for
60 sections that wrap around the address space.
62 2010-06-29 Nick Clifton <nickc@redhat.com>
64 * scripttempl/xstormy16.sc (.gcc_except_table): Include sections
65 with the .gcc_except_table. prefix.
67 2010-06-29 Alan Modra <amodra@gmail.com>
69 * emulparams/maxqcoff.sh: Delete file.
70 * scripttempl/maxqcoff.sc: Delete file.
71 * Makefile.am: Remove references to maxq.
72 * configure.tgt: Likewise.
73 * Makefile.in: Regenerate.
74 * configure: Regenerate.
75 * po/POTFILES.in: Regenerate.
77 2010-06-27 Alan Modra <amodra@gmail.com>
79 * pe-dll.c (fill_edata): Avoid set but unused warning.
80 (pe_walk_relocs_of_symbol): Delete set but unused variables.
81 (generate_reloc, pe_implied_import_dll): Likewise.
82 * emultempl/aix.em (open_dynamic_archive): Likewise.
83 * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise.
84 (xtensa_layout_wild): Likewise.
85 (xtensa_colocate_output_literals_callback): Likewise.
87 2010-06-25 Alan Modra <amodra@gmail.com>
89 * emultempl/ppc64elf.em (prelim_size_sections): New function.
90 (ppc_before_allocation): Use it. Size sections before toc edit too.
92 2010-06-25 Alan Modra <amodra@gmail.com>
94 * emultempl/elf32.em (find_exp_assignment): Handle etree_provided.
96 2010-06-20 Danny Smith <dannysmith@users.sourceforge.net>
98 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Make
99 auto-import and merge-rdata defaults same for i[3-7]86 and
102 2010-06-15 Joseph Myers <joseph@codesourcery.com>
104 * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define.
106 2010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
109 * pe-dll.c (process_def_file_and_drectve): Reorder check for
110 forwarded export name after check for ordinary export.
112 2010-06-08 Bernd Schmidt <bernds@codesourcery.com>
114 * emulparams/elf32_tic6x_le.sh (OTHER_BSS_SECTIONS): New.
116 2010-06-08 Nick Clifton <nickc@redhat.com>
118 * fdl.texi: Replace with v1.3 text.
119 * ld.texinfo: Replace abbreviated 20th century year numbers with
121 * ldint.texinfo: Likewise.
122 Relicense under GFDL v1.3. Replace text of v1.1 FDL with an
123 include of the fdl.texi file.
125 2010-06-01 Tristan Gingold <gingold@adacore.com>
127 * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
128 readonly output-section. Handle LIB$INITIALIZE and sections
130 * emultempl/vms.em (vms_place_orphan): Add comments.
132 2010-05-28 Nick Clifton <nickc@redhat.com>
134 * Makefile.am (eshlelf_fd.c): Fix typo in rule.
135 * Makefile.in: Regenerate.
137 2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
140 * ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
141 multiple of maximum page size.
143 2010-05-25 Nick Clifton <nickc@redhat.com>
145 * Makefile.am: Fix typo.
146 * Makefile.in: Regenerate.
148 2010-05-25 Daniel Jacobowitz <dan@codesourcery.com>
149 Joseph Myers <joseph@codesourcery.com>
150 Andrew Stubbs <ams@codesourcery.com>
152 * Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
153 (eshelf_fd.c, eshlelf_fd.c): New rules.
154 * Makefile.in: Regenerate.
155 * configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
157 * emulparams/shelf_fd.sh: New file.
158 * emulparams/shlelf_fd.sh: New file.
159 * emulparams/shlelf_linux.sh: Update comment.
161 2010-05-25 Jay Krell <jay.krell@cornell.edu>
164 * Makefile.am: Replace all occurences of .o with .@OBJEXT@
165 * Makefile.in: Regenerate.
167 2010-05-25 Kai Tietz <kai.tietz@onevision.com>
169 * deffilep.y (opt_name): Allow leading dot.
170 (dot_name): Likewise.
171 (anylang_id): Likewise.
172 * emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by
174 (gld${EMULATION_NAME}_handle_option): Warn about v1.
175 (pep_find_data_imports): Remove superflous warnings about
177 (gld_${EMULATION_NAME}_get_script): Don't merge for auto-import
178 and active pseudo-relocation-v2 rdata into data section.
179 * emultempl/pe.em (default_merge_rdata): New shell variable.
180 (MERGE_RDATA_V2): New macro.
181 (gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import
184 2010-05-15 Kai Tietz <kai.tietz@onevision.com>
186 * emultempl/pe.em (is_underscoring): New helper function.
187 (gld_${EMULATION_NAME}_before_parse): Replace code
188 for pe(p)_leading_underscore detection by is_underscoring.
190 (GET_INIT_SYMBOL_NAME): Likewise.
194 (gld_${EMULATION_NAME}_set_symbols):
195 * emultempl/pep.em: Likewise.
196 * pe-dll.c (pe_detail_list): Set default
197 underscoring for x64 target.
198 (pe_dll_id_target): Add initialization of
199 pe(p)_leading_underscore.
201 2010-05-15 Dave Korn <dave.korn.cygwin@gmail.com>
203 * pe-dll.c: Removed trailing whitespaces.
205 2010-05-14 Alan Modra <amodra@gmail.com>
208 * ldexp.c (exp_fold_tree_1): If assignment source expression is
209 invalid, make the destination symbol undefined.
211 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
213 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
214 Initialize pe(p)_leading_underscore variable.
215 (set_pe_name): Likewise.
216 * emultempl/pep.em: Likewise.
217 Additional change default to non-underscore for
218 pep_leading_underscore equal to -1.
220 2010-05-07 Tristan Gingold <gingold@adacore.com>
222 * Makefile.in: Regenerate with automake 1.11.1.
225 2010-05-05 Nick Clifton <nickc@redhat.com>
227 * po/es.po: Updated Spanish translation.
229 2010-04-27 Kai Tietz <kai.tietz@onevision.com>
231 * pe-dll.c (_nm_-symbols): Use always underscored variant
233 (__imp_-symbols): Likewise.
234 (___imp_-symbols): Likewise.
235 * NEWS: Mention ABI change for x64 PE-COFF.
237 2010-04-27 H.J. Lu <hongjiu.lu@intel.com>
239 * Makefile.am (install-exec-local): Properly install ld as
240 default cross linker.
241 * Makefile.in: Regenerated.
243 2010-04-27 H.J. Lu <hongjiu.lu@intel.com>
244 Nick Clifton <nickc@redhat.com>
246 * configure.in (install_as_default): Define and set to true
247 unless --enable-gold=both/gold has been specified.
248 * configure: Regenerate.
250 * Makefile.am (transform): Use ld.bfd as the default name of
252 (install-exec-local): Also install the executable as a binary
253 named 'ld' if install_as_default is true.
254 * Makefile.in: Regenerate.
256 2010-04-22 Nick Clifton <nickc@redhat.com>
258 * po/ld.pot: Updated by the Translation project.
259 * po/vi.po: Updated Vietnamese translation.
260 * po/bg.po: Updated Bulgarian translation.
262 2010-04-15 Andrew Haley <aph@redhat.com>
264 * emultempl/armelf.em (merge_exidx_entries): New variable.
265 (OPTION_NO_MERGE_EXIDX_ENTRIES): New definition.
266 ("no-merge-exidx-entries"): New option.
267 * ld.texinfo (merge-exidx-entries): Document this option.
269 2010-04-14 Tristan Gingold <gingold@adacore.com>
271 * emulparams/alphavms.sh: New file.
272 * emultempl/vms.em: New file.
273 * scripttempl/alphavms.sc: New file.
274 * configure.tgt (alpha*-*-*vms*): Added.
275 * Makefile.am (ALL_EMULATIONS): Add ealphavms.o
276 (ealphavms.c): New target.
277 * Makefile.in: Regenerate.
279 2010-04-09 Nick Clifton <nickc@redhat.com>
281 * ldlang.c (wild_sort): Remove unused variable section_name.
283 2010-04-07 Alan Modra <amodra@gmail.com>
285 * configure: Regenerate.
287 2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
290 * ld/testsuite/ld-x86-64/unique1.d: New.
291 * ld/testsuite/ld-x86-64/unique1.s: Likewise.
293 * ld-x86-64/x86-64.exp: Run unique1.
295 2010-04-05 Kai Tietz <kai.tietz@onevision.com>
297 * emultempl/pep.em (U): Macro modified.
298 (U_SIZE): New helper macro.
299 (GET_INIT_SYMBOL_NAME): Likewise.
300 (enum options): Add OPTION_NO_LEADING_UNDERSCORE
301 and OPTION_LEADING_UNDERSCORE enumerator-values.
302 (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
304 (definfo): Add new member is_c_symbol.
305 (D): Add to macro underscore mode parameter.
306 (init): Add definition for is_c_symbol.
307 (gld_${EMULATION_NAME}_list_options): Display new options.
308 (set_pep_name): Adjust underscoring dependent fixed
310 (gld_${EMULATION_NAME}_set_symbols): Likewise.
311 (saw_option): Likewise.
312 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
313 (set_entry_point): Initial initial_symbol_char dependent to
314 target's default and new option flag pep_leading_underscore.
315 * emultempl/pe.em (U): Macro modified.
316 (U_SIZE): New helper macro.
317 (GET_INIT_SYMBOL_NAME): Likewise.
318 (OPTION_LEADING_UNDERSCORE): Add new option define.
319 (OPTION_NO_LEADING_UNDERSCORE): Likewise.
320 (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
322 (definfo): Add new member is_c_symbol.
323 (D): Add to macro underscore mode parameter.
324 (init): Add definition for is_c_symbol.
325 (gld_${EMULATION_NAME}_list_options): Display new options.
326 (set_pep_name): Adjust underscoring dependent fixed
328 (gld_${EMULATION_NAME}_set_symbols): Likewise.
329 (saw_option): Likewise.
330 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
331 (set_entry_point): Initial initial_symbol_char dependent to
332 target's default and new option flag pep_leading_underscore.
333 * pe-dll.c (pe_leading_underscore): New flag variable.
334 (pe_detail_list): Remove const to allow modify of
336 (pe_dll_id_target): Initialize pe_details' underscore variable
337 dependent to target's default and flag pe_leading_underscore.
338 * pe-dll.h (pe_leading_underscore): Add extern declaration of
340 * pep-dll.c (pe_leading_underscore): Add alias define for
341 pep_leading_underscore.
342 * pep-dll.h (pep_leading_underscore) Add extern declaration of
344 * ld.texinfo: Add documentation for --(no-)leading-underscore
347 2010-03-26 Alan Modra <amodra@gmail.com>
350 * configure.host (many linux targets <HOSTING_CRT0>): Remove edits.
351 (m68*-motorola-sysv <HOSTING_LIBS>): Use here doc, not echo.
353 2010-03-25 Joseph Myers <joseph@codesourcery.com>
355 * Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
357 (eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
358 * NEWS: Add news entry for TI C6X support.
359 * configure.tgt (tic6x-*-*): New.
360 * emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.
362 2010-03-23 Joseph Myers <joseph@codesourcery.com>
364 * scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
365 BSS_NAME): Define if not already defined. Use in place of some
366 hardcoded section names.
368 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
370 * scripttempl/elf.sc (INIT_ARRAY): Re-indent.
372 2010-03-18 Aymeric Vincent <vincent@labri.fr>
375 * emultempl/sh64elf.em: Add missing EOF.
377 2010-03-18 Doug Semler <dougsemler@gmail.com>
379 * pe-dll.c (make_one): Make text section readonly.
380 (make_one): Add *ABS* symbol @feat.00 with value 1 to tag
381 the jump stub on X86 as /SAFESEH compatible for
384 2010-03-17 Alan Modra <amodra@gmail.com>
386 * ldlang.c (lang_size_sections_1): Remove "s" param. Set "s" from
387 *prev instead. Update all callers.
389 2010-03-15 Daniel Jacobowitz <dan@codesourcery.com>
391 * ldlang.c (lang_insert_orphan): Place loadable orphans in the same
392 region and phdrs as their placement section.
394 2010-03-15 Alan Modra <amodra@gmail.com>
396 * emultempl/ppc64elf.em (move_input_section, sort_toc_sections): New.
397 (ppc_before_allocation): Call sort_toc_sections.
398 (no_toc_sort, OPTION_NO_TOC_SORT): New.
399 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
400 PARSE_AND_LIST_OPTIONS): Handle --no-toc-sort.
402 2010-03-14 Alan Modra <amodra@gmail.com>
405 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
406 ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs.
408 2010-03-11 George Gensure <werkt0@gmail.com>
411 * ldcref.c (handle_asneeded_cref): Correct copying of refs.
413 2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
415 * Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
417 (ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o.
418 (eelf32_sparc_sol2.c): New rule.
419 (eelf64_sparc_sol2.c): Likewise.
420 (eelf_x86_64_sol2.c): Likewise.
421 (eelf_i386_sol2.c): Likewise.
422 * Makefile.in: Regenerate.
423 * configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to
425 Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls.
426 (x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2.
427 Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls.
428 (sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2.
429 Add target_extra_emuls.
430 (sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2.
431 Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls.
432 (sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2.
433 Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls.
434 * emulparams/elf32_sparc_sol2.sh: New file.
435 * emulparams/elf64_sparc_sol2.sh: New file.
436 * emulparams/elf_i386_sol2.sh: New file.
437 * emulparams/elf_x86_64_sol2.sh: New file.
438 * emultempl/solaris2.em: New file.
440 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
443 * ld.texinfo: Replace explicitely with explicitly.
445 2010-02-27 Jie Zhang <jie@codesourcery.com>
447 * scripttempl/armbpabi.sc: Don't combine .init_array.* or
448 .fini_array.* when do relocatable linking.
449 * scripttempl/elf.sc: Likewise.
450 * scripttempl/elf32sh-symbian.sc: Likewise.
451 * scripttempl/elf64hppa.sc: Likewise.
452 * scripttempl/elfxtensa.sc: Likewise.
454 2010-02-26 Alan Modra <amodra@gmail.com>
456 * scripttempl/elf.sc (.fini_array): Place input .fini_array after
458 * scripttempl/armbpabi.sc: Likewise.
459 * scripttempl/elf32sh-symbian.sc: Likewise.
460 * scripttempl/elf64hppa.sc: Likewise.
461 * scripttempl/elfxtensa.sc: Likewise.
463 2010-02-25 Alan Modra <amodra@gmail.com>
466 * ldlang.c (init_os): Remove isec param. Don't check for
467 bfd_section already set or call bfd_init_private_section_data
469 (exp_init_os): Update init_os call.
470 (lang_add_section): Tidy. Really don't set SEC_LINK_ONCE
471 flags. Call bfd_init_private_section_data here.
472 (map_input_to_output_sections): Tidy. Update init_os calls.
473 Use os->sectype to select sec flags for lang_data_statement.
475 2010-02-23 Alan Modra <amodra@gmail.com>
478 * ldlang.c: Revert last patch.
480 2010-02-23 Nick Clifton <nickc@redhat.com>
482 * po/bg.po: Updated Bulgarian translation.
484 2010-02-22 Alan Modra <amodra@gmail.com>
487 * ldlang.c (exp_init_os): Delete forward declaration.
488 (init_os): Don't check for bfd_section already created and don't
489 init addr_tree and load_base expressions here.
490 (map_input_to_output_sections): Only map input to output sections
491 and set constraints here, and as an exception, create output
492 sections which have their address set. Move all the other code to..
493 (create_other_output_sections): ..here. New function. Handle init
494 of addr_tree and load_base here too.
495 (lang_process): Call create_other_output_sections.
497 2010-02-19 Alan Modra <amodra@gmail.com>
499 * Makefile.am (eelf32_i960.c): Depend on ELF_GEN_DEPS, not ELF_DEPS.
500 * Makefile.in: Regenerate.
502 2010-02-19 Alan Modra <amodra@gmail.com>
504 * ldlang.c (unique_section_p): Add os param. Allow group
505 sections to match /DISCARD/. Update all callers.
506 * emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New.
507 (LDEMUL_BEFORE_ALLOCATION): Define.
509 2010-02-15 Nick Clifton <nickc@redhat.com>
511 * po/vi.po: Updated Vietnamese translation.
513 2010-02-10 Richard Sandiford <r.sandiford@uk.ibm.com>
515 * Makefile.am (CFILES): Add ldlex-wrapper.c.
516 (OFILES): Replace ldlex.c with ldlex-wrapper.c.
517 (ldlex.o): Replace with...
518 (ldlex-wrapper.o): ...this new rule.
519 (EXTRA_ld_new_SOURCES): Add ldlex.l.
520 (ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c.
521 * Makefile.in: Regenerate.
522 * ldlex.l (sysdep.h): Don't include here.
523 * ldlex-wrapper.c: New file.
525 2010-02-09 Alan Modra <amodra@gmail.com>
527 * emultempl/ppc64elf.em (ppc_before_allocation): Update for changed
530 2010-02-05 Nick Clifton <nickc@redhat.com>
532 * configure.in (ALL_LIBGUAS): Add bg.
533 * configure: Regenerate.
534 * po/bg.po: New Bulgarian translation.
536 2010-02-05 Ryan Mansfield <rmansfield@qnx.com>
538 * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Fix help for
539 --target1-abs and --target1-rel options.
541 2010-02-03 Nick Clifton <nickc@redhat.com>
543 * emultempl/alphaelf.em: Update value expected from elf_object_id.
544 * emultempl/hppaelf.em: Likewise.
545 * emultempl/mipself.em: Likewise.
546 * emultempl/ppc32elf.em: Likewise.
547 * emultempl/ppc64elf.em: Likewise.
549 2010-02-03 Alan Modra <amodra@gmail.com>
551 * emultempl/ppc64elf.em (build_toc_list): Report errors from
552 ppc64_elf_next_toc_section.
553 (after_allocation): Update for changed function names and params.
554 Run second pass of multitoc partitioning.
556 2010-01-21 Jon Grant <jg@jguk.org>
557 Nick Clifton <nickc@redhat.com>
560 * ldfile.c: (ldfile_open_file): Do not stop link upon encountering
561 a missing file or library. Instead mark the entry as missing and
562 set the global flag to indicate that missing files were
564 * ldlang.c (missing_files): New exported variable.
565 (load_symbols): Skip loading if the file is missing.
566 (open_input_bfds): Terminate link if any input files were
568 * ldlang.h (struct lang_input_statement_struct): Add missing_file
570 Add export of missing_file variable.
572 2010-01-13 DJ Delorie <dj@redhat.com>
574 * emultempl/elf32.em (_place_orphan): If an input section doesn't
575 match an existing output section, but an unused output section
576 statement does match, use it.
577 * emultempl/pe.em (_place_orphan): Likewise.
578 * emultempl/pep.em (_place_orphan): Likewise.
580 2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
582 * configure: Regenerate.
583 * Makefile.in: Regenerate.
585 2010-01-08 H.J. Lu <hongjiu.lu@intel.com>
587 * ldver.c (ldversion): Change to "Copyright 2010".
589 2010-01-08 Alan Modra <amodra@gmail.com>
592 * emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr.
594 For older changes see ChangeLog-2009
600 version-control: never