-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathChangeLog
190 lines (149 loc) · 7.32 KB
/
ChangeLog
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
2023-08-01 André Colomb <[email protected]>
* Fix exit code when writing to the output image file was
successful. The number of bytes written was returned and used as
exit code, when it should be zero on success and non-zero only on
error.
* Fix building without the custom post-processor module. An
undefined reference regarding the demo --skip-checksum error would
otherwise fail the build.
* Release version 1.2
2023-07-03 André Colomb <[email protected]>
* Extend the --print option to accept a "defines" format
specification which causes the contents to be printed as key-value
pairs with a hexadecimal byte dump. These assignments are
suitable for feeding back into the --define option, to port
override definitions to another map file independently.
* Add an option --defines-from to accept override specifications
from a text file. They can still be overridden from the command
line. Standard input can be read from by supplying a single dash
as file name. The key-value pairs can be delimited by newlines
and / or commas in the file, and white-space between hex byte
values is ignored.
* Add an option --changed to skip unchanged fields while printing.
Unchanged means they have the same value as specified in the
output ELF map file, thus not affected by the input image file,
the copy transformation or any overrides. This implies some
memory usage overhead, as the original value of all processed
symbols needs to be cached (only when the option is in use).
* Fall back to hex-dump when pretty-printing unknown fields.
Fields without a designated print function never had their
contents printed at all, only a description or symbol name.
Unless there is a valid description string, assume it's an unknown
field and dump the raw byte contents. This should be more useful
than skipping the value altogether. The previous behavior can be
restored with the --print=pretty-only option.
* Rework elf-mangle's error reporting behavior and bail out if
processing fails. Previously only command line parsing errors
were fatal, but many other errors during operation were silently
skipped over. These now exit the program with an appropriate
non-zero exit code after consistently printing a message to the
standard error stream.
* Fix a bug where unknown fields were not transferred from the
input to the output map. This happened only in the presence of
unknown symbol names, i.e. without a custom_known_fields
implementation, because the list of unknown symbols was unsorted
while the transformation expected a sorted list.
* Fix an unlikely crash when printing a field without a known
description string.
* Reduce memory usage when finding fewer symbols than expected
from the known field definitions.
* Update submodule reference to forked libcintelhex snapshot, to
incorporate a segfault fix while auto-detecing the format of an
invalid ihex file (without colons and therefore no records at
all).
* Update German translation.
* Release version 1.1
2022-07-08 André Colomb <[email protected]>
* Add facility to implement custom post-processors on the output
image data, with the ability to further modify contained fields.
* Implement an example post-processor to calculate and store a CRC
checksum over the binary data.
* Release version 1.0
2021-11-15 André Colomb <[email protected]>
* Update pointers to available libelf implementations.
* Minor build system updates.
* Release version 0.6.2
2019-10-21 André Colomb <[email protected]>
* Fix cross-compilation error related to undefined rpl_malloc and
rpl_realloc symbols.
* Release version 0.6.1
2016-11-02 André Colomb <[email protected]>
* Fix offset output showing wrong numbers when using the
length-prefixed string search function (--strings option).
* Refactor internal handling of binary blobs to allow loading an
image file into memory for later processing.
* Add the lpstrings utility, similar to the standard POSIX
strings(1) command.
* Fix a corner case in build system configuration which would
overwrite user-supplied CPPFLAGS / LDFLAGS variables.
* Update German translation.
* Release version 0.6
2016-09-19 André Colomb <[email protected]>
* Minor clean-ups for the build system and detection of libelf
library.
* Update the documentation with used build utility versions.
* Release version 0.5.1
2015-09-14 André Colomb <[email protected]>
* Fix possible memory access error caused by a missing check for
the source field size in field copy functions. This changes the
signature of the field_copy_f function prototype and all its
implementations. Therefore bump the minor version.
* Release version 0.5
2015-08-14 André Colomb <[email protected]>
* Fix segmentation fault when using Intel Hex files, caused by an
error in libcintelhex. A newer pre-release of libcintelhex is now
referenced for the submodule.
* Release version 0.4.2
2015-07-22 André Colomb <[email protected]>
* Fix README.md syntax compatibility for GitHub and include it in
the distribution.
* Fix bugs related to the handling of text / binary file modes on
Windows.
* Update included libcintelhex reference to benefit from bug fixes
there, some also related to binary file handling on Windows.
* Fix some localization issues (non-translatable strings, missing
newline).
* Add a TODO list with ideas for future development.
* Install documentation files: README, TODO, LICENSE, ChangeLog
* Update German translation.
* Release version 0.4.1
2015-04-09 André Colomb <[email protected]>
* Rework the build system, fixing several usage and portability
problems. Integrate GNU libtool for building libraries.
* Fix a problem with iterating through symbol lists caused by an
uninitialized local variable.
* Rename the option --byte-size to --field-size and add another
option --section-size.
* Fix offset output for the --strings option to point at the
length prefix byte.
* Abuse the --symbols option to generate more machine-readable
(non-localized) output for --strings and --section-size.
* Adjust help output to exclude unavailable options and reflect
the actually used default values.
* Fix error handling when an expected ELF section could not be
found.
* Handle unprintable characters in custom_known_fields.c example.
* Validate argument in custom_options.c example for --set-serial.
* Revised README document for new features and minor corrections.
* Release version 0.4.
2014-08-08 André Colomb <[email protected]>
* Clean up build system for more stability and better user
interaction.
* Fix some portability problems to enable building on MinGW.
* Switch default output image format to Intel Hex, as the help
string already stated.
* Fix help output to list --strings option in the right group.
* Include German translation.
* Include a README document with detailed setup and usage
instructions.
* Release version 0.3.
2014-06-06 André Colomb <[email protected]>
* Add support for GNU Gettext and Gnulib packages. To use Gnulib,
it must be installed on the packager's machine, who runs
`gnulib-tool --update` in the top-level package directory. The
resulting distribution archive will include all necessary gnulib
checks to work around problematic user platforms during
compilation.
* Release version 0.2.
2014-05-28 André Colomb <[email protected]>
* Release version 0.1.