Mercurial > pub > dyncall > dyncall
annotate ChangeLog @ 653:0c8838766866
- riscv64 support for calls and callbacks (but lacking aggr and syscall support) - thanks Jun Jeon! :)
- mark riscv64 as implemented in manual overview
author | Tassilo Philipp |
---|---|
date | Thu, 07 Mar 2024 17:42:13 +0100 |
parents | b42cee4358fc |
children | fe907488e235 |
rev | line source |
---|---|
0 | 1 This file lists bigger/noteworthy changes, only... |
2 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
3 |
640 | 4 Version 1.4 (2022/12/06) |
426 | 5 |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
6 dyncall: |
551
eef302b7a58d
- amendment fix for buffer overflow (see commit 0455834d29a1), to also handle non-standard struct packing, + better asserts
Tassilo Philipp
parents:
545
diff
changeset
|
7 o new, portable aggregate-by-value argument interface |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
8 o aggregate-by-value (struct, union) support for x64 (win and sysv; thanks Raphael Luba!) |
551
eef302b7a58d
- amendment fix for buffer overflow (see commit 0455834d29a1), to also handle non-standard struct packing, + better asserts
Tassilo Philipp
parents:
545
diff
changeset
|
9 o new aggregate description interface DCaggr replacing stale DCstruct (latter had shortcomings, was |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
10 mostly unused as it lacked stable implementations, didn't handle unions, ...) |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
11 o new calling convention modes for thiscalls (platform agnostic DC_CALL_C_DEFAULT_THIS, as well as |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
12 DC_CALL_C_X64_{WIN64,SYSV}_THIS (needed to handle C++ ABI rules for returning aggregates by value) |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
13 o new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
14 o dcCallF(), dcVCallF(), dcArgF() and dcVArgF() don't implicitly call dcReset() |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
15 anymore, which was unflexible (breaking change) |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
16 o added macros to feature test implementation for aggregate-by-value and syscall support |
538 | 17 o windows/x64/masm directives added to specify how stack unwinds (help for |
630 | 18 debuggers, exception handling, etc.; thanks Raphael Luba!) |
616
5d999f5c13d1
- fixed mingw and cygwin env detection (was always shadowed by _WIN32 macro detection, and __MINGW__ macro check was wrong to begin with)
Tassilo Philipp
parents:
607
diff
changeset
|
19 o fixed detection of native thiscall callconv for builds not using MSVC but using (or adhering to) |
5d999f5c13d1
- fixed mingw and cygwin env detection (was always shadowed by _WIN32 macro detection, and __MINGW__ macro check was wrong to begin with)
Tassilo Philipp
parents:
607
diff
changeset
|
20 the MSVC runtime (e.g. ReactOS' MinGW based RosBE) |
631 | 21 o BSD syscall segfault fix |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
22 dyncallback: |
551
eef302b7a58d
- amendment fix for buffer overflow (see commit 0455834d29a1), to also handle non-standard struct packing, + better asserts
Tassilo Philipp
parents:
545
diff
changeset
|
23 o new, portable aggregate-by-value callback argument interface |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
24 o aggregate-by-value (struct, union) support for x64 (win and sysv; thanks Raphael Luba!) |
551
eef302b7a58d
- amendment fix for buffer overflow (see commit 0455834d29a1), to also handle non-standard struct packing, + better asserts
Tassilo Philipp
parents:
545
diff
changeset
|
25 o x64/windows masm directives for frame unwinding information (as dbg help; thanks Raphael Luba!) |
607
9d0eefb0e0f0
- sparc64 callback crash fix (local register wasn't preserved)
Tassilo Philipp
parents:
590
diff
changeset
|
26 o sparc64 callback crash fix |
426 | 27 dynload: |
28 o build fix for ReactOS with RosBE/cmake/mingw-make environment | |
588
dfc2e6ee8782
- more robust endian detection, on some platforms inclusion of endian.h led to assuming wrong endianness (subtle if inclusion was in
Tassilo Philipp
parents:
576
diff
changeset
|
29 general: |
dfc2e6ee8782
- more robust endian detection, on some platforms inclusion of endian.h led to assuming wrong endianness (subtle if inclusion was in
Tassilo Philipp
parents:
576
diff
changeset
|
30 o more robust detection of platform endianness (on some platforms inclusion |
dfc2e6ee8782
- more robust endian detection, on some platforms inclusion of endian.h led to assuming wrong endianness (subtle if inclusion was in
Tassilo Philipp
parents:
576
diff
changeset
|
31 of endian.h led to wrong assumptions) |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
32 tests: |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
33 o call_suite: simplified and extended to test also unsigned types, and _Bool |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
34 o callback_suite: refactored to be much more like call_suite test |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
35 o call_suite_aggrs: new test suite for calls with aggregate arguments and |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
36 return types (structs, unions and arrays as aggregate members) |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
37 o callback_suite_aggrs: new test suite, like call_suite_aggrs but for callbacks |
630 | 38 o plain: added some aggregate-as-vararg-by-value tests |
545
ca28e9e3c644
- test/callback_plain_c++, to test C++ non-trivial aggrs by value, as well as method callback handlers
Tassilo Philipp
parents:
538
diff
changeset
|
39 o plain_c++: added non-trivial C++ aggregate tests |
ca28e9e3c644
- test/callback_plain_c++, to test C++ non-trivial aggrs by value, as well as method callback handlers
Tassilo Philipp
parents:
538
diff
changeset
|
40 o callback_plain_c++: new test, focusing on methods and non-trivial C++ aggregates |
560 | 41 o simplifications and major refactoring to share more code (especially |
42 signature and case generator) across test suites | |
572 | 43 o dynload_plain: simplified build and robustness fixes on some platforms |
564
fe31a2e3ac90
./configure output for sun make builds: set correct C++ compiler flag var
Tassilo Philipp
parents:
560
diff
changeset
|
44 buildsys: |
fe31a2e3ac90
./configure output for sun make builds: set correct C++ compiler flag var
Tassilo Philipp
parents:
560
diff
changeset
|
45 o ./configure output for sun make builds: set correct C++ compiler flag var |
566
cb162d45916d
./configure for SunOS now uses isainfo(1) to deduce native instruction set
Tassilo Philipp
parents:
564
diff
changeset
|
46 o ./configure for SunOS now uses isainfo(1) to deduce native instruction set |
632
ed19b429a152
- added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents:
631
diff
changeset
|
47 o added explicit arm64 target, and clang tool options to Windows' configure.bat |
ed19b429a152
- added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents:
631
diff
changeset
|
48 o configure.{bat,rc} now writing Makefile.config, for consistency/compatibility (e.g. configure.bat |
ed19b429a152
- added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents:
631
diff
changeset
|
49 can now be used to set up env flags for a non-nmake toolchain) |
ed19b429a152
- added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents:
631
diff
changeset
|
50 o simplified/decluttered Windows and Plan9 configure scripts (removal of unused/stale options, ...) |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
51 doc: |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
52 o callconv section additions about aggregate-by-value passing for all platforms |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
53 o new Linux-Std-Base-specific PPC32/SysV section, as aggregate retval handling differs from |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
54 default SysV for such systems |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
55 o man page changes/additions to document new aggregate interfaces |
576 | 56 o added many more usage examples to man pages |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
57 o replaced API description in manual with references to the manpages, to |
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
58 avoid duplication and keeping things in sync |
560 | 59 o general clarifications and cleanup, adding missing definitions to man |
60 pages, ... | |
426 | 61 |
62 | |
420
13475895a79b
- prep for 1.3 release, version number bump, etc.
Tassilo Philipp
parents:
415
diff
changeset
|
63 Version 1.3 (2021/12/17) |
397 | 64 |
415 | 65 o introduced version macro (see dyncall/dyncall_version.h) |
408
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
66 dyncall: |
409
15698dc0cba3
- regression fix: return values were broken on some arm32-thumb targets
Tassilo Philipp
parents:
408
diff
changeset
|
67 o fixed broken return values w/ arm32/thumb mode (only affected some platforms) |
408
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
68 o build fix when using clang's integrated assembler on arm32 hard-float platforms |
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
69 dyncallback: |
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
70 o build fix when using clang's integrated assembler on arm32 hard-float platforms |
415 | 71 dynload: |
72 o Haiku/x86 build fix | |
73 o dynload fix for PE files that do not contain a symbol export directory (thanks Ashok!) | |
400
d18f1a65e34f
windows lib name consistency changes for nmake builds
Tassilo Philipp
parents:
399
diff
changeset
|
74 buildsys: |
d18f1a65e34f
windows lib name consistency changes for nmake builds
Tassilo Philipp
parents:
399
diff
changeset
|
75 o windows/nmake based builds: output library name changes to follow conventions of the native |
d18f1a65e34f
windows lib name consistency changes for nmake builds
Tassilo Philipp
parents:
399
diff
changeset
|
76 platform and be in line with cmake based builds |
410
7608e34098b0
- cleanups, simplifications, some api clarification, ...
Tassilo Philipp
parents:
409
diff
changeset
|
77 tests: |
7608e34098b0
- cleanups, simplifications, some api clarification, ...
Tassilo Philipp
parents:
409
diff
changeset
|
78 o fixed status codes of some tests to actually depend on results (for consistency and automation) |
397 | 79 |
80 | |
394 | 81 Version 1.2 (2021/01/23) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
82 |
358
30aae7371373
- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall
Tassilo Philipp
parents:
356
diff
changeset
|
83 dyncall: |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
84 o windows arm64 support (thanks Bernhard!) |
358
30aae7371373
- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall
Tassilo Philipp
parents:
356
diff
changeset
|
85 o extended signature with more chars for calling convention switching (only for modes |
30aae7371373
- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall
Tassilo Philipp
parents:
356
diff
changeset
|
86 that coexist on a platform with other conventions) |
30aae7371373
- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall
Tassilo Philipp
parents:
356
diff
changeset
|
87 o made "formatted" call interface use calling convention signature chars |
362
78dfa2f9783a
- added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents:
360
diff
changeset
|
88 o added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode |
366
ad5f9803f52f
- removal of some unnecessary headers that only contained internally used forward declarations, so no need to have them
Tassilo Philipp
parents:
363
diff
changeset
|
89 o removed some unnecessary headers (only contained internal used forward declarations) |
408
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
90 o build fix when using clang's integrated assembler on non-Darwin PPC32 platforms |
368
f28b7f4f5749
- removed some pseudo-op on non-darwin platforms to make clang's integrated assembler happy
Tassilo Philipp
parents:
366
diff
changeset
|
91 dyncallback: |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
92 o windows arm64 support (thanks Bernhard!) |
408
5387564a1096
- changelog addition (and modification of older entry for clarity)
Tassilo Philipp
parents:
401
diff
changeset
|
93 o build fix when using clang's integrated assembler on non-Darwin PPC32 platforms |
356
2f64957d6a46
- fix to dynload to build with musl libc (latter has dlinfo but not RTLD_SELF, so fallback to dl_iterate_phdr if on ELF targets)
Tassilo Philipp
parents:
355
diff
changeset
|
94 dynload: |
2f64957d6a46
- fix to dynload to build with musl libc (latter has dlinfo but not RTLD_SELF, so fallback to dl_iterate_phdr if on ELF targets)
Tassilo Philipp
parents:
355
diff
changeset
|
95 o fix to build with musl libc |
382
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
96 o support for loading macos >= 11.0.1 (Big Sur) dylibs provided by system's "built-in dynamic |
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
97 linker cache of all system-provided libraries" (those dylibs are no longer present on the fs) |
390 | 98 o fix to work on recent Haiku versions (r1 beta versions) |
360
32736025371f
- doc updates with more info about signature string usage
Tassilo Philipp
parents:
358
diff
changeset
|
99 doc: |
32736025371f
- doc updates with more info about signature string usage
Tassilo Philipp
parents:
358
diff
changeset
|
100 o manual now specifying calling convention signature chars |
382
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
101 o dynload(3) note about macos >= 11.0.1 cached dylib support (see above) |
392 | 102 o marked Haiku/x64 as supported and tested |
360
32736025371f
- doc updates with more info about signature string usage
Tassilo Philipp
parents:
358
diff
changeset
|
103 bindings: |
392 | 104 o pydc: Python 3 support, Python 2 unicode support, added get_path function, changing |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
105 'Z' conversions to only immutable types and 'p' to mutable types (and handles), support |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
106 passing None for 'Z' and 'p', bytearray support, support to specify calling convention |
392 | 107 o shdc: can reference own executable now and support for more calling conventions |
108 o shdc: syscall support | |
358
30aae7371373
- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall
Tassilo Philipp
parents:
356
diff
changeset
|
109 tests: |
362
78dfa2f9783a
- added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents:
360
diff
changeset
|
110 o extended callf testcode to test callconv mode switch signature chars (including syscalls) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
111 o robustness fixes (thanks Bernhard!) |
382
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
112 o dynload_plain test fix on macos >= 11.0.1 (Big Sur) |
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
113 o made inode testing of dynload_plain optional, depending on platform support or if macos |
dd5d03483314
- dynload changes to support macos >= 11.0.1 "built-in dynamic linker cache of all system-provided libraries" (those dylibs are no longer present on the fs)"
Tassilo Philipp
parents:
371
diff
changeset
|
114 dylib not on fs but provided through system's cache |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
115 buildsys: |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
116 o cmake support of armasm64 on windows (thanks Bernhard!) |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
117 |
355 | 118 |
353 | 119 Version 1.1 (2020/01/11) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
120 |
302
d55f9d508074
- mips softfloat support for o32 callconv (calls and callbacks, little and big endian)
Tassilo Philipp
parents:
301
diff
changeset
|
121 dyncall: |
305 | 122 o support for soft-float MIPS o32 & n64 (big- and little-endian, each) |
339 | 123 o x64 System V syscall support |
302
d55f9d508074
- mips softfloat support for o32 callconv (calls and callbacks, little and big endian)
Tassilo Philipp
parents:
301
diff
changeset
|
124 dyncallback: |
305 | 125 o support for soft-float MIPS o32 & n64 (big- and little-endian, each) |
309
b51401bc4c37
- changelog about dynload UTF-8 support on windows
Tassilo Philipp
parents:
307
diff
changeset
|
126 dynload: |
b51401bc4c37
- changelog about dynload UTF-8 support on windows
Tassilo Philipp
parents:
307
diff
changeset
|
127 o added UTF-8 support for pathnames on windows |
314
b2e4e23d9953
- stop using dlinfo() on glibc platforms but use dl_iterate_phdr() instead, as former's implementation is nothing more than a fancy cast and thus dangerously assuming that every provided handle is valid
Tassilo Philipp
parents:
309
diff
changeset
|
128 o reliability/stability fix for dlGetLibraryPath() on glibc based platforms (avoiding |
b2e4e23d9953
- stop using dlinfo() on glibc platforms but use dl_iterate_phdr() instead, as former's implementation is nothing more than a fancy cast and thus dangerously assuming that every provided handle is valid
Tassilo Philipp
parents:
309
diff
changeset
|
129 internal use of glibc's bad impl of dlinfo() which doesn't do any error checking at all) |
320
85c80b0c021c
- Darwin/macos fix for dlGetLibraryPath() to correctly fail on bogus handles
Tassilo Philipp
parents:
314
diff
changeset
|
130 o Darwin/macos fix for dlGetLibraryPath() to correctly fail on bogus handles (did return |
85c80b0c021c
- Darwin/macos fix for dlGetLibraryPath() to correctly fail on bogus handles
Tassilo Philipp
parents:
314
diff
changeset
|
131 paths to random libraries under some circumstances, instead of returning an error) |
314
b2e4e23d9953
- stop using dlinfo() on glibc platforms but use dl_iterate_phdr() instead, as former's implementation is nothing more than a fancy cast and thus dangerously assuming that every provided handle is valid
Tassilo Philipp
parents:
309
diff
changeset
|
132 o support for dlGetLibraryPath() on glibc platforms with glibc vesions <= 2.3.3 |
320
85c80b0c021c
- Darwin/macos fix for dlGetLibraryPath() to correctly fail on bogus handles
Tassilo Philipp
parents:
314
diff
changeset
|
133 o dlGetLibraryPath() now accepts NULL as argument to return path to executable |
353 | 134 o dlLoadLibrary() on windows: no more auto-suffixing of the .dll file ext anymore, to be |
135 more in line with other platforms (not affecting OS specific library search behaviour) | |
301 | 136 doc: |
137 o more detail in support matrix for bi-endian platforms | |
332 | 138 o improvements/corrections to calling convention appendix |
139 o PPC64 calling convention description | |
336 | 140 o MIPS64/N32 calling convention description |
332 | 141 o man page additions for clarity |
309
b51401bc4c37
- changelog about dynload UTF-8 support on windows
Tassilo Philipp
parents:
307
diff
changeset
|
142 tests: |
b51401bc4c37
- changelog about dynload UTF-8 support on windows
Tassilo Philipp
parents:
307
diff
changeset
|
143 o dynload_plain test extended to test UTF-8 library paths |
332 | 144 o better output for plain test |
145 o better output and *nix fix for plain_c++ test | |
296
e6bd998b0308
- FBSD12-CURRENT/mipshf needs to be told explicitly to use -mhard_float (at least as of may 2018)
Tassilo Philipp
parents:
295
diff
changeset
|
146 buildsys: |
e6bd998b0308
- FBSD12-CURRENT/mipshf needs to be told explicitly to use -mhard_float (at least as of may 2018)
Tassilo Philipp
parents:
295
diff
changeset
|
147 o default ./configure: FreeBSD/mips*hf needed -mhard-float compiler flag set explicitly |
307
d2c8ea3ef2ed
better MacOS Mojave support in ./configure (Mojave dropped i386 builds)
Tassilo Philipp
parents:
305
diff
changeset
|
148 o better MacOS Mojave support in ./configure (Mojave dropped i386 builds) |
295 | 149 |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
150 |
290
4e63c6411e59
- adjusted release date of r1.0 in changelog
Tassilo Philipp
parents:
280
diff
changeset
|
151 Version 1.0 (2018/04/23) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
152 |
79 | 153 dyncall: |
206 | 154 o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!) |
147 | 155 o fixed potential buffer overrun on ARM64 |
206 | 156 o error code handling (dcGetError) changes, flag is now cleared (work still underway) |
130 | 157 o MIPS n64 ellipsis call fixes |
147 | 158 o ARM32 armhf ellipsis call fixes |
175
00dd15cc5c87
- fixed ARM32-THUMB stack alignment issues (found on Cortex-m0, thanks Darren Whobrey!)
cslag
parents:
169
diff
changeset
|
159 o fixed ARM32-THUMB stack alignment issues (found on Cortex-m0, thanks Darren Whobrey!) |
147 | 160 o better C++ compiler support (for pointer conversions) |
79 | 161 dyncallback: |
206 | 162 o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!) |
135 | 163 o MIPS o32 (big- and little-endian), EABI (32 bit, little-endian) and n64 (big-endian) support |
197
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
164 o SPARC32 (v7/v8) support |
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
165 o SPARC64 (v9) support |
237 | 166 o PPC32 fixes for (old) Darwin/OS X systems |
185
a41bc98e101c
- impl. for allocwx stuff on POSIX-strict systems where there is no MAP_ANON for mmap()
Tassilo Philipp
parents:
175
diff
changeset
|
167 o POSIX compliance: fallback for wx alloc on systems that don't have mmap()'s MAP_ANON |
203
3999750fae28
- allocwx changes from last commit mentioned in Changelog and adapted testcode
Tassilo Philipp
parents:
197
diff
changeset
|
168 o allocated space used for thunk now always W^X (req. for e.g. OpenBSD >= 6.0) |
217 | 169 dynload: |
224 | 170 o major reliability/stability fixes for Mach-O dlSyms* functions to (thanks Stéphane Mons for help): |
171 better handle loading dylibs by symlink, relative path, random casing, etc. | |
172 fixes to symbol name lookups that used wrong offsets before | |
173 64-bit platform fixes (was broken on x64 and never supported on others) | |
217 | 174 o allowing Mach-O dlSyms* lib to be used standalone (consistent with ELF and PE impls now) |
224 | 175 o simplifications of implemention on Darwin, sharing parts with *nix implementation |
221 | 176 o potentially breaking change on macos/Darwin platforms: all functions now consistently accept or |
224 | 177 return symbol names as they would appear in C code, instead of the raw ones in object files |
247 | 178 o added new function dlGetLibraryPath, allowing lookups of path to library via handle |
169
2fa600ea50e7
- marking off solaris/sparc (32 bit) as completely supported (just tested sparc callbacks on solaris (with gnu toolchain, though), works)
cslag
parents:
159
diff
changeset
|
179 general: |
256
7520e2260097
- added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane
Tassilo Philipp
parents:
247
diff
changeset
|
180 o assembly code now built by explicitily asking for non-execstack, for safer/easier integration |
7520e2260097
- added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane
Tassilo Philipp
parents:
247
diff
changeset
|
181 into other projects/builds, where needed; needed b/c of questionable default behaviours of some |
185
a41bc98e101c
- impl. for allocwx stuff on POSIX-strict systems where there is no MAP_ANON for mmap()
Tassilo Philipp
parents:
175
diff
changeset
|
182 toolchains (thanks Thorsten Behrens for report and analysis) |
79 | 183 doc: |
184 o working html doc generation from TEX sources | |
197
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
185 o SPARC32 (v7/v8) calling convention description |
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
186 o SPARC64 (v9) calling convention description |
83
54930a037e8a
- PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents:
80
diff
changeset
|
187 bindings: |
84 | 188 o better documentation, removed relative path dependencies, general cleanup |
189 o python: updated to latest signature format (was still on 0.1) | |
190 o java: rewritten (old version was never complete, anyways) | |
214 | 191 tests: |
192 o added new dynload_plain test covering basic use of all dynload functions | |
151 | 193 buildsys: |
194 o cmake: made to work on systems without C++ compiler (thanks Franklin Mathieu) | |
65 | 195 |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
196 |
59 | 197 Version 0.9 (2015/12/31) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
198 |
0 | 199 dyncall: |
40 | 200 o ARM64 support (AAPCS64 on Linux & Apple's derived version on iOS) |
201 o armhf calling convention support for ARM32 | |
206 | 202 o PPC64 support, including syscalls (thanks Masanori Mitsugi!) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
203 o introduced dcArgF and dcVArgF for flexible/convenient argument binding (works like |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
204 dcCallF/dcVCallF but without the function call) |
21 | 205 o using -fPIC by default for FreeBSD |
0 | 206 o PPC32 linux syscall support |
147 | 207 o fixed return value errors for ARM32 on some platforms (e.g. freebsd/arm32, nintendo ds); arm & thumb mode |
0 | 208 dyncallback: |
209 o ARM64 support (AAPCS64 on Linux, Apple's derived version on iOS) | |
40 | 210 o armhf calling convention support for ARM32 |
206 | 211 o PPC64 support (thanks Masanori Mitsugi!) |
0 | 212 o PPC32 System V support (Linux) |
213 o fix for PPC32 Darwin/OS X | |
214 o more intuitive specification of callback return type | |
215 doc: | |
216 o added ARM64 support info and calling convention documentation | |
64 | 217 o added ARM32 armhf section |
0 | 218 o added PPC64 support info |
219 o cleanup, brought all up to date, etc. | |
220 tests: | |
221 o callf test covers new argf interface | |
64 | 222 o several fixes to some test suites |
0 | 223 buildsys: |
224 o more flexible testsuite build and 'pack' target for convenience | |
225 o fixes/additions for OS X universal builds | |
226 o added iOS universal build support for armv7/arm64 | |
227 o helper script for generic .elf -> EBOOT.PBP creation for PSP | |
228 o Sun make fixes for C++ code in test suite | |
229 bindings: | |
230 o erldc: Erlang binding (thanks Erik!) | |
2 | 231 infrastructure: |
232 o moved to hg | |
83
54930a037e8a
- PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents:
80
diff
changeset
|
233 o moved bindings to own repository |
0 | 234 |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
235 |
40 | 236 Version 0.8 (2014/03/24) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
237 |
0 | 238 buildsys: |
239 o big simplification make-based build system, no more distinct GNU and BSD makefiles anymore | |
240 o new, much simpler ./configure for new make-based build-system | |
241 o support for in-source and out-of-source builds for make-based build systems | |
242 o made configure.bat guess x64 as target arch for x64 windows hosts | |
243 o based more sources on portasm generation | |
244 dyncall: | |
245 o fix for ARMv7 Thumb-2 code (tested on iPhone 4 CDMA / iOS 6.0.1) | |
79 | 246 o bugfixes for -O2 builds for SPARC-v9 and SPARC-v7 |
0 | 247 o new optimized call kernel for SPARC-v9 without conditionals |
130 | 248 o bigger refactoring and optimization of MIPS o32 |
0 | 249 o x64 optimizations |
250 dyncallback: | |
251 o added callback support for plan9 | |
252 o big cleanup, removal of duplicate files after introduction of portasm | |
253 o include path fixes for public facing APIs (removed relative paths) | |
254 doc: | |
255 o cleanup of manual and corrections | |
256 o added info about newly supported and/or tested platforms (e.g. FreeBSD on ARM) | |
257 o restructured folder layout for documentation | |
258 o added API doc for dyncallback and dynload | |
259 o added manpages for dyncallback and dynload | |
260 tests: | |
261 o added arm/thumb interwork test suite | |
262 bindings: | |
263 o godc: added bindings for Go | |
264 o rbdc: fixed and extended ruby bindings | |
265 o shdc: renamed shell binding to shdc and added feature to list shared-objects' symbols | |
266 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
267 |
40 | 268 Version 0.7 (2012/01/02) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
269 |
0 | 270 architecture: |
79 | 271 o added subproject: portasm - portable (GNU AS,+Apple and MASM) assembly framework |
0 | 272 o added subproject: autovar - predefined macro framework (was dyncall_macros.h) |
273 o added support for Solaris and SunPro compiler for i386, x86_64, sparc and sparc64 | |
274 o improved auto-detection via preprocessor defines | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
275 dyncall: |
0 | 276 o uses portasm (GNU,Apple,Microsoft) common sources for x86,x64,ppc32,arm32_arm |
206 | 277 o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris) |
278 o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris) | |
0 | 279 o bug fixes for x64/win64 calling convention |
280 o added support for mingw32-w64 on x64 | |
281 o improved cdecl x86 calling convention: stack always 16 byte aligned | |
282 o updated API and initial support for structs (for x86/AMD64) | |
283 o initial support for syscalls on x86, added x86 int80h linux/bsd | |
284 o added Minix port (stable) | |
285 o optimized vector buffer for small type pushing | |
286 o minor fix for amd64/sysv: alignment to 32-byte | |
287 o bug fix for ppc32/sysv: ellipsis calls work now | |
288 o updated API, introduced DC_CALL_C_ELLIPSIS_VARARGS | |
289 o changed interface: dcMode does not reset internally anymore | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
290 dyncallback: |
0 | 291 o uses portasm for x86,x64 |
292 o added Solaris/x86/sunpro port (stable) | |
293 o added Minix port (unstable) | |
294 o callback support for Darwin/ppc32 | |
295 o updates source, uses relative includes | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
296 dynload: |
0 | 297 o fixes for missing includes (dyncall_alloc.h) |
298 o fixes for self-resolving symbols on windows | |
299 o removed Dbghelf.lib dependency | |
300 o bug fixes for cygwin/x86 | |
301 o fixes for beos/haiku | |
302 o no dependencies to libdyncall sources. | |
303 buildsys additions: | |
304 o added zero-config (BSD,GNU,SUN) make files (Makefile.embedded) | |
79 | 305 o added in/out-of-source configure2 w/ (BSD,GNU) make files (Makefile.generic) |
306 o added bootstrap lua script (download/build) | |
0 | 307 o Nmakefile: more tests included (resolve_self) |
308 o improved cross-compilation for iOS (upgrade to 4.3 sdk) | |
309 o darwin 8.0 support | |
310 o added 'install' support for Makefile.embedded | |
311 buildsys/gmake updates: | |
312 o added support for msvc/x64 tool-chain | |
313 o default settings for build-dir changed to '.' | |
314 o cleanup: removed top-level Make{Prolog,Epilog,Rules} files and updated all sub-projects and tests | |
315 o added support for DESTDIR staging installation | |
316 o added support for manual page installation | |
317 buildsys/cmake updates: | |
318 o updated find module scripts (see cmake/Modules) | |
319 o added support for using dyncall as sub-project (via *Config.cmake files) | |
320 see details in README.CMake | |
321 o fixes for msvc and ml | |
322 o fixes for CPack | |
323 o fixes for universal builds on Mac OS X | |
324 o supports SunPro with *.S files. | |
325 o added experimental 'dynMake' portable make-based build-system (not stable, yet) | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
326 doc: |
0 | 327 o added dyncallback documentation |
79 | 328 o updated dyncall documentation |
0 | 329 o minor updates |
330 tests: | |
331 o added flexible test suite for calls (call_suite) based on Lua and C | |
332 o added syscall test | |
333 o updates to resolve-self test (adding additional link flags to export symbols) | |
334 o renamed *.cpp -> *.cc files (OpenBSD/Sun make has no implicit rules for cpp) | |
335 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
336 |
40 | 337 Version 0.6 (2010/09/25) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
338 |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
339 buildsys: |
0 | 340 o new build systems: CMake and Plan9's mk |
341 o buildsys/gmake tool chain update: pcc and iphone sdk | |
342 o x64 bugfix: added "-fPIC" even for static libs | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
343 dynload: |
0 | 344 o enum symbols update: Mach-O and Win64 (thanks Olivier) |
345 o numerous convenience changes to dynload interface (thanks Olivier) | |
346 o added support for resolving application images itself | |
590
01a5762c6fba
- relaxed cmake's c++ compiler check for test suite a bit by just checking if compiler string is set (existing CMAKE_CXX_COMPILER_WORKS fails on some platforms)
Tassilo Philipp
parents:
588
diff
changeset
|
347 dyncall: |
0 | 348 o new platform support: arm/iphone (armv6), x86/Plan9 |
130 | 349 o new MIPS calling conventions: o32, n64 (both endian models) |
0 | 350 o cleanup: unexported functions in MASM files, b/c export not needed (thanks Olivier) |
351 o interface update: added error reporting facility 'dcGetError' | |
352 o bugfix for ppc32/sysv: ellipsis calls were broken | |
79 | 353 o interface update: added new abstract mode for ellipsis calls (DC_CALL_C_ELLIPSIS) |
0 | 354 docs: |
355 o comprehensive update | |
356 tests: | |
357 o plain: split "plain" test up in C and C++ part | |
358 o callbacksuite: added multiple configuration support for callback_suite | |
359 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
360 |
40 | 361 Version 0.5 (2010/02/01) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
362 |
0 | 363 o renamed arm9 stuff to arm32 |
364 o added non-EABI ABI for arm32 (before, EABI was the default implementation) | |
365 o added dyncallback support for x64/windows (thanks Olivier), x64/darwin, arm32/arm, arm32/thumb | |
366 o synced documentation again with current state of the source (lots of small changes) | |
367 o updated ruby binding to current state of signature string (still some features missing, though) | |
368 o added a couple of new options to configure scripts (e.g. prefix-bd, new targets, etc.) | |
369 o darwin universal binary support | |
370 o added new tests callback_plain and calback_suite | |
371 o added Haiku/BeOS support | |
372 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
373 |
40 | 374 Version 0.4 (2009/07/06) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
375 |
0 | 376 o added 'doc' makefile target for coherency and ease of use |
377 o fixed nmake buildfiles and configure.bat (were out of date and wrong) | |
378 o test suite clean up (GNUmake, BSDmake): | |
379 target "config" modified, phony without dependencies to other builds | |
221 | 380 o bugfix: GNU fastcall calling convention for float and double arguments was wrong (no skip of register) |
0 | 381 o update: x86win32* suite tests are built on cygwin now, added total result output |
533
71c884e610f0
- integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents:
426
diff
changeset
|
382 o signature char (breaking) changes: |
0 | 383 C Strings: 'S' -> 'Z' |
384 long: 'l' -> 'j' | |
385 long long: 'L' -> 'l' | |
79 | 386 added unsigned integer type signature characters: upper case encoding |
0 | 387 o added: callbacks component (support only for some platforms ATM) |
388 o added: test cases for alloc_wx, thunk | |
389 o updated Documentation | |
390 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
391 |
40 | 392 Version 0.3 (2009/01/17) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
393 |
0 | 394 o added Linux PPC32 support |
395 o added ARM THUMB mode support | |
396 o cosmetic changes, documentation updated | |
397 o bugfix: on cygwin exported C symbols in GNU as are prefixed with '_' now. | |
398 o removed scons build support | |
399 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
400 |
40 | 401 Version 0.2 (2008/05/18) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
402 |
0 | 403 o added scons build support |
404 o configure variables all prefix CONFIG_* now | |
405 o configure variable INSTALL_DIR changed to INSTALL_PREFIX | |
406 o configure (shell version) option "--prefix" changed to "--prefix=<path>" | |
407 | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
408 |
40 | 409 Version 0.1 (2008/01/23) |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
368
diff
changeset
|
410 |
0 | 411 o initial release |
412 |