NEWS revision 1.1 1 1.1 christos Import binutils 2.45 (previous was 2.42)
2 1.1 christos
3 1.1 christos 2.45 Release Notes
4 1.1 christos ------------------
5 1.1 christos
6 1.1 christos Assembler:
7 1.1 christos
8 1.1 christos All sframe information generated by the assembler is now in compliance
9 1.1 christos with the SFrame V2 specification.
10 1.1 christos
11 1.1 christos The assembler now supports .errif and .warnif directives, permitting
12 1.1 christos user-controlled diagnostics with conditionals that are evaluated only
13 1.1 christos at the end of assembly.
14 1.1 christos
15 1.1 christos The assembler predefines the symbol "GAS(version)".
16 1.1 christos
17 1.1 christos The assembler now supports the generation of SFrame stack trace
18 1.1 christos information (.sframe) from CFI directives on s390 64-bit (s390x).
19 1.1 christos
20 1.1 christos For RISC-V, the ".option arch, -ext" format is deprecated due to its
21 1.1 christos controversial use.
22 1.1 christos
23 1.1 christos For RISC-V, stop generating mapping symbols $x and replace with $x<isa>. The
24 1.1 christos $x was defined to have the same ISA as previous $x<isa>, but now is defined
25 1.1 christos to have the same ISA as elf architecture attribute. Once both used .option
26 1.1 christos arch/rvc/norvc/push/pop directives (some code have different architectures
27 1.1 christos with file attribute) and data directives in text, then the file need to be
28 1.1 christos rebuilt since 2.45.
29 1.1 christos
30 1.1 christos The assembler supports the latest architecture extensions for the
31 1.1 christos RISC-V, LoongArch and AArch64 architectures.
32 1.1 christos
33 1.1 christos Linker:
34 1.1 christos
35 1.1 christos The linker's --stats option can take an optional argument which if used is
36 1.1 christos interpreted as a filename into which resource usage information should be
37 1.1 christos stored. As an alternative mechanism the LD_STATS environment variable can
38 1.1 christos also be used to achieve the same results. Resource usage information for
39 1.1 christos various phases of the linking operation is now included in the report.
40 1.1 christos If a map file is being produced then the information is also included there.
41 1.1 christos The --no-stats option can be used to disable stat reporting, should it have
42 1.1 christos been enabled.
43 1.1 christos
44 1.1 christos On s390 64-bit (s390x), generate SFrame stack trace information (.sframe)
45 1.1 christos for the linker generated .plt section. On s390 32-bit, generate
46 1.1 christos ".eh_frame" unwind information for the linker generated .plt section.
47 1.1 christos Both features are enabled by default and can be disabled using linker
48 1.1 christos option --no-ld-generated-unwind-info.
49 1.1 christos
50 1.1 christos On RISC-V, add new PLT formats, and GNU property merge rules for zicfiss and
51 1.1 christos zicfilp extensions.
52 1.1 christos
53 1.1 christos On AVR, the default linker scripts now assert that the .progmem sections
54 1.1 christos don't extend past 0xffff since they are accessed by means of LPM.
55 1.1 christos For data in program memory that may be located past 0xffff, a .progmemx
56 1.1 christos section should be used.
57 1.1 christos
58 1.1 christos On LoongArch, linker relaxation time complexity is no longer quadratic with
59 1.1 christos respect to relocation counts. Linking time of large software should be
60 1.1 christos improved. In addition R_LARCH_32_PCREL records are now checked for
61 1.1 christos overflow.
62 1.1 christos
63 1.1 christos Other binary utilities:
64 1.1 christos
65 1.1 christos New versioned release of libsframe: libsframe.so.2. This release introduces
66 1.1 christos versioned symbols with version node name LIBSFRAME_2.0. Some new symbols
67 1.1 christos have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and
68 1.1 christos retrieving flags from SFrame decoder and encoder objects:
69 1.1 christos - Addition of sframe_decoder_get_flags,
70 1.1 christos sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags,
71 1.1 christos sframe_encoder_get_offsetof_fde_start_addr.
72 1.1 christos This release also includes backward-incompatible ABI changes:
73 1.1 christos - Removal of sframe_get_funcdesc_with_addr.
74 1.1 christos - Change in the behavior of sframe_decoder_get_funcdesc_v2,
75 1.1 christos sframe_encoder_add_funcdesc_v2 and sframe_encoder_write.
76 1.1 christos
77 1.1 christos For SFrame stack trace format, the function start address in each SFrame
78 1.1 christos FDE has a changed encoding: The 32-bit signed integer now holds the offset
79 1.1 christos of the start PC of the associated function from the sfde_func_start_address
80 1.1 christos field itself (instead of the earlier where it was the offset from the start
81 1.1 christos of the SFrame section itself). All SFrame sections generated by gas and ld
82 1.1 christos now default to this new encoding, setting the (new)
83 1.1 christos SFRAME_F_FDE_FUNC_START_PCREL flag.
84 1.1 christos
85 1.1 christos Relocatable SFrame links are now fixed.
86 1.1 christos
87 1.1 christos Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
88 1.1 christos GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
89 1.1 christos extensions.
90 1.1 christos
91 1.1 christos The LoongArch disassembler now properly accepts multiple disassembly
92 1.1 christos options given by -M, such as "-M no-aliases,numeric". (Previously only the
93 1.1 christos first option took effect.)
94 1.1 christos
95 1.1 christos 2.44 Release Notes
96 1.1 christos ------------------
97 1.1 christos
98 1.1 christos Assembler:
99 1.1 christos Support for new architecture extensions for AArch64, Risc-V and
100 1.1 christos x86.
101 1.1 christos
102 1.1 christos Linker:
103 1.1 christos The default maximum page size was changed from 16KiB to 64KiB for
104 1.1 christos LoongArch.
105 1.1 christos
106 1.1 christos This now supports mixed LTO and non-LTO object files in
107 1.1 christos relocatable output.
108 1.1 christos
109 1.1 christos The ELF forms of the linker support a --image-base=<ADDR> option
110 1.1 christos for compatibility with LLD.
111 1.1 christos
112 1.1 christos The --build-id= option now accepts an argument of "xx" which
113 1.1 christos enables the use of the xxhash library. This produces a 128-bit
114 1.1 christos hash and is 2-4x faster than md5 or sha1.
115 1.1 christos
116 1.1 christos The ELF linker option --package-metadata supports percent-encoded
117 1.1 christos and %[string] encoded JSON payloads.
118 1.1 christos
119 1.1 christos Disassembler:
120 1.1 christos The RISC-V disassembler now supports -M,max option like QEMU to
121 1.1 christos dump instruction without checking architecture support as usual.
122 1.1 christos
123 1.1 christos GprofNG:
124 1.1 christos Support added for hardware event counters for Neoverse-N1,
125 1.1 christos Ampere-1, and Appliedmicro processors.
126 1.1 christos
127 1.1 christos Support for the Nios II target has been removed.
128 1.1 christos
129 1.1 christos 2.43 Release Notes
130 1.1 christos ------------------
131 1.1 christos
132 1.1 christos Assembler:
133 1.1 christos
134 1.1 christos * Add a .base64 directive to the assembler which allows base64 encoded
135 1.1 christos binary data to be provided as strings.
136 1.1 christos
137 1.1 christos * Assembler macros as well as the bodies of .irp / .irpc / .rept can now use
138 1.1 christos the syntax \+ to access the number of times a given macro has been executed.
139 1.1 christos This is similar to the already existing \@ syntax, except that the count is
140 1.1 christos maintained on a per-macro basis.
141 1.1 christos
142 1.1 christos * References to FB and dollar labels, when supported, are no longer permitted
143 1.1 christos in a radix other than 10. (Note that definitions of such labels were
144 1.1 christos already thus restricted, except that leading zeroes were permitted).
145 1.1 christos
146 1.1 christos Linker:
147 1.1 christos
148 1.1 christos * Add support for DT_RELR type compressed runtime relocations for the
149 1.1 christos AArch64 and LoongArch architectures.
150 1.1 christos
151 1.1 christos * Add --rosegment option which changes the -z separate-code option so that
152 1.1 christos only one read-only segment is created (instead of two).
153 1.1 christos
154 1.1 christos * Add --section-ordering-file <FILE> option to add extra mapping of input
155 1.1 christos sections to output sections.
156 1.1 christos
157 1.1 christos * Add -plugin-save-temps to store plugin intermediate files permanently.
158 1.1 christos
159 1.1 christos Utilities:
160 1.1 christos
161 1.1 christos * Readelf will now display DT_RELR relocations in full detail.
162 1.1 christos
163 1.1 christos * Readelf now has a -j/--display-section option which takes the name
164 1.1 christos or index of a section and displays its contents according to its
165 1.1 christos type. The option can be used multiple times on the command line to
166 1.1 christos display multiple sections.
167 1.1 christos
168 1.1 christos * When objdump or readelf are used to display the contents of a
169 1.1 christos .eh_frame section they will now also display the contents of the
170 1.1 christos .eh_frame_hdr section, if present.
171 1.1 christos
172 1.1 christos Gprofng:
173 1.1 christos
174 1.1 christos * Improved the support for hardware event counters:
175 1.1 christos - Re-designed and streamlined the implementation.
176 1.1 christos - Defined a common set of events for ARM processors.
177 1.1 christos - Added specific events for AMD ZEN3 / ZEN4, and Intel
178 1.1 christos Ice Lake processors.
179 1.1 christos * Added a minimal support for RISC-V.
180 1.1 christos
181 1.1 christos General:
182 1.1 christos
183 1.1 christos * Target specific improvements for many architectures.
184 1.1 christos
185 1.1 christos
186