ChangeLog-gas-2.14.txt 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. Changelog of the TIGCC-local changes to Binutils (2.14 branch):
  2. 2004-09-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
  3. * gas/read.c (emit_expr): Mark relocs for constants unoptimizable.
  4. * gas/write.h (struct fix): Add fx_unoptimizable field.
  5. * gas/write.c (fix_new_internal): Initialize it.
  6. * include/coff/internal.h (R_UNOPTIMIZABLE): New reloc flag.
  7. * gas/config/tc-m68k.c (tc_coff_fix2rtype): Handle unoptimizable relocs.
  8. (md_assemble): Mark destination operand relocs unoptimizable.
  9. 2004-09-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
  10. * gas/as.h (segment_name): Change to function to allow arbitrary number of sections.
  11. * gas/subsegs.c (seg_name, segment_name): Likewise.
  12. * gas/symbols.h (SEGMENT_TO_SYMBOL_TYPE): Likewise.
  13. * gas/config/obj-coff.c (seg_N_TYPE, SEGMENT_TO_SYMBOL_TYPE): Likewise.
  14. (seg_info_off_by_4, SEG_INFO_FROM_SECTION_NUMBER): Likewise.
  15. * gas/config/obj-coff.h (C_REGISTER_SECTION): Redefine to N_SEGMENTS+10.
  16. * gas/as.h (SEG_NORMAL): Redefine to use SEG_LAST.
  17. (N_SEGMENTS, SEG_LIST, SEG_LAST): Bump segment limit from 120 to 1024.
  18. 2004-08-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
  19. * gas/config/tc-m68k.c (md_apply_fix3): Don't add/subtract the value of a common symbol,
  20. it is a size, not a position.
  21. 2004-07-25 Kevin Kofler <Kevin@tigcc.ticalc.org>
  22. * gas/config/obj-coff.h (S_FORCE_RELOC): Force relocs for symbols in mergeable sections.
  23. * gas/config/obj-coff.c (yank_symbols): Clear the SF_LOCAL flag if the symbol is in a
  24. mergeable section.
  25. 2004-07-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
  26. * include/coff/internal.h (STYP_MERGEABLE, STYP_UNALIGNED): New TIGCC section flags.
  27. * gas/config/obj-coff.c (obj_coff_section): Use them ("m" and "u" codes).
  28. * gas/config/obj-coff.h (S_IS_LOCAL): Always output local symbols in mergeable sections.
  29. 2004-07-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
  30. * gas/config/obj-coff.h (S_FORCE_RELOC): Don't force relocs for absolute symbols if
  31. !flag_all_relocs.
  32. * gas/expr.c (expr): Don't optimize address differences if flag_all_relocs.
  33. * gas/symbols.c (resolve_symbol_value): Error out on operations other than + or - on an
  34. address or address difference if flag_all_relocs.
  35. 2004-06-25 Kevin Kofler <Kevin@tigcc.ticalc.org>
  36. * gas/as.h (N_SEGMENTS, SEG_NORMAL, SEG_LIST, SEG_LAST): Bump segment limit from 40 to 120.
  37. * gas/subsegs.c (MANY_SEGMENTS): Increase segment limit.
  38. * gas/config/obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise.
  39. * gas/config/obj-coff.h (C_REGISTER_SECTION): Likewise.
  40. * gas/config/obj-coff.c (obj_coff_add_segment): Use the full name, not the truncated name,
  41. for merging of identically-named sections.
  42. 2003-09-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
  43. * gas/config/tc-m68k.c (md_estimate_size_before_relax): Only create the symbol in the next
  44. frag for conditional jumps.
  45. Also handle conditional jumps to variables in the same segment.
  46. 2003-09-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
  47. * gas/config/tc-m68k.c (md_convert_frag_1): Comment Sebastian Reichelt's change.
  48. (md_estimate_size_before_relax): Likewise.
  49. 2003-09-08 Sebastian Reichelt <Sebastian@tigcc.ticalc.org>
  50. * gas/config/tc-m68k.c (flag_short_jumps): New variable.
  51. (md_estimate_size_before_relax): Use it instead of flag_short_refs for jump shortening.
  52. Handle flag_short_refs in the ABSTOPCREL case.
  53. (md_longopts): Add --short-jumps (OPTION_SHORT_JUMPS).
  54. (md_parse_option): Handle --short-jumps, make -l imply it.
  55. (md_show_usage): Add --short-jumps.
  56. * gas/frags.h: (struct frag): Add fr_start_symbol member.
  57. * gas/config/tc-m68k.c (md_convert_frag_1): Create the jbCC PC-relative reloc using it
  58. (in the next frag), not the section symbol of sec.
  59. Revert 2003-09-02 addition of segT sec parameter.
  60. (md_convert_frag): Revert 2003-09-02 change ("Pass sec parameter on to
  61. md_convert_frag_1").
  62. (md_estimate_size_before_relax): For LONG references, create a symbol in the next frag.
  63. 2003-09-02 Kevin Kofler <Kevin@tigcc.ticalc.org>
  64. * gas/config/tc-m68k.c (m68k_ip): Create PC-relative reloc for the branch in a jbCC.
  65. (md_convert_frag_1): Likewise. Add segT sec parameter.
  66. (md_convert_frag): Pass sec parameter on to md_convert_frag_1.
  67. 2003-09-01 Kevin Kofler <Kevin@tigcc.ticalc.org>
  68. * opcodes/m68k-opc.c (m68k_opcodes): Move 2002-05-12 exgl (exg.l) alias for exg...
  69. (m68k_aliases): ... here. Add abcdb (abcd.b) alias for abcd.
  70. * gas/listing.c (listing_listing): Add 1 to the width for the terminating '\0' character.
  71. 2003-08-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
  72. * gas/config/obj-coff.c (do_relocs_for): Do convert references to local symbols we aren't
  73. going to output into references to the section symbol.
  74. 2003-07-17 Kevin Kofler <Kevin@tigcc.ticalc.org>
  75. * gas/expr.c (expr): Add optimization of subtraction of .set symbols.
  76. * gas/config/obj-coff.c (fixup_segment): Zero out add_symbolP only if !TC_FORCE_RELOCATION.
  77. (c_dot_file_symbol [!BFD_ASSEMBLER]): If flag_all_relocs, xdef __ld_all_relocs.
  78. * gas/config/tc-m68k.c (md_apply_fix3): Fix offset computation (don't subtract
  79. fixP->fx_frag->fr_address, subtract subtrahend twice instead to compensate for later
  80. incorrect computations in obj-coff.c).
  81. Disable: "Fix up subtraction of the dot symbol by changing the reloc to PC-relative."
  82. (TIGCC 20030716), because it is unnecessary and probably wrong.
  83. 2003-07-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
  84. * gas/as.c (show_usage, parse_args): Add --all-relocs switch.
  85. * gas/as.h (flag_all_relocs): New variable.
  86. * gas/config/obj-coff.h (S_IS_LOCAL): Output even internal symbols when flag_keep_locals.
  87. (S_FORCE_RELOC): Never reduce or eliminate relocs in all-relocs mode.
  88. * gas/config/obj-coff.c (fixup_segment): Take TC_FORCE_RELOCATION_SUB_LOCAL and
  89. UNDEFINED_DIFFERENCE_OK into account.
  90. Reuse fx_im_disp to turn off range checking on the
  91. 68k.
  92. (do_relocs_for): Don't convert references to references to the section symbol.
  93. * gas/config/tc-m68k.h (UNDEFINED_DIFFERENCE_OK): Define.
  94. (TC_FORCE_RELOCATION, TC_FORCE_RELOCATION_ABS, TC_FORCE_RELOCATION_LOCAL,
  95. TC_FORCE_RELOCATION_SUB_SAME, TC_FORCE_RELOCATION_SUB_LOCAL, TC_FORCE_RELOCATION):
  96. Define. Force relocs in all-relocs mode.
  97. * gas/config/tc-m68k.c (tc_coff_fix2rtype): Handle word and byte negative relocs.
  98. (md_apply_fix3): We aren't done when we still have something to subtract.
  99. Split address differences into its components.
  100. Fix up subtraction of the dot symbol by changing the reloc to
  101. PC-relative.
  102. Reuse fx_im_disp to turn off range checking.
  103. * gas/write.c (adjust_reloc_syms): Only convert relocs to section symbol relocs if we
  104. aren't going to output the symbol they refer to.
  105. * include/coff/internal.h (R_RELWORD_NEG, R_RELBYTE_NEG): Define as TIGCC extensions.
  106. 2003-07-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
  107. * Don't pad sections. ld-tigcc aligns sections independently of their size:
  108. gas/config/obj-coff.c (SUB_SEGMENT_ALIGN for write_object_file): Set to 0, not 1.
  109. gas/write.c (subsegs_finish): Always skip alignment code.
  110. 2003-07-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
  111. * Merge TIGCC patchset:
  112. 2003-01-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
  113. * gas/config/obj-coff.c (coff_frob_section): Don't pad sections. ld-tigcc aligns
  114. sections independently of their size.
  115. 2002-05-28 Sebastian Reichelt <Sebastian@tigcc.ticalc.org>
  116. * opcodes/configure.in: Use m68k-dis.c as a "unique file" rather than z8k-dis.c. We
  117. don't distribute the latter.
  118. * opcodes/configure: Likewise.
  119. 2002-05-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
  120. * opcodes/m68k-opc.c (m68k_opcodes): Add exgl (exg.l) alias for exg.
  121. 2002-01-20 Sebastian Reichelt <Sebastian@tigcc.ticalc.org>
  122. * opcodes/m68k-opc.c (m68k_opcodes): Optimization: Add clr.l %dn as an alias for moveq.
  123. 2002-01-10 Stephan Effelsberg <b012414@dvz.fh-koeln.de>
  124. * opcodes/m68k-opc.c (m68k_opcodes): Fix cmpi operand constraints when aliased as cmp.
  125. (Don't allow PC-relative or indexed PC-relative
  126. second operand.)
  127. 2001-09-01 Sebastian Reichelt <Sebastian@tigcc.ticalc.org>
  128. * bfd/config.bfd: Remove targ_selvecs for m68k-*-*-coff*.
  129. 2003-07-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
  130. * Import Binutils 2.14 release.