Mercurial > pub > dyncall > dyncall
annotate ChangeLog @ 305:b104c5beec8b
- softfloat support for mips64/n64 abi
author | Tassilo Philipp |
---|---|
date | Wed, 23 May 2018 11:41:34 +0200 |
parents | d55f9d508074 |
children | d2c8ea3ef2ed |
rev | line source |
---|---|
0 | 1 This file lists bigger/noteworthy changes, only... |
2 | |
295 | 3 Version 1.1 (upcoming) |
302
d55f9d508074
- mips softfloat support for o32 callconv (calls and callbacks, little and big endian)
Tassilo Philipp
parents:
301
diff
changeset
|
4 dyncall: |
305 | 5 o support for soft-float MIPS o32 & n64 (big- and little-endian, each) |
302
d55f9d508074
- mips softfloat support for o32 callconv (calls and callbacks, little and big endian)
Tassilo Philipp
parents:
301
diff
changeset
|
6 dyncallback: |
305 | 7 o support for soft-float MIPS o32 & n64 (big- and little-endian, each) |
301 | 8 doc: |
9 o more detail in support matrix for bi-endian platforms | |
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
|
10 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
|
11 o default ./configure: FreeBSD/mips*hf needed -mhard-float compiler flag set explicitly |
295 | 12 |
290
4e63c6411e59
- adjusted release date of r1.0 in changelog
Tassilo Philipp
parents:
280
diff
changeset
|
13 Version 1.0 (2018/04/23) |
79 | 14 dyncall: |
206 | 15 o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!) |
147 | 16 o fixed potential buffer overrun on ARM64 |
206 | 17 o error code handling (dcGetError) changes, flag is now cleared (work still underway) |
130 | 18 o MIPS n64 ellipsis call fixes |
147 | 19 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
|
20 o fixed ARM32-THUMB stack alignment issues (found on Cortex-m0, thanks Darren Whobrey!) |
147 | 21 o better C++ compiler support (for pointer conversions) |
79 | 22 dyncallback: |
206 | 23 o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!) |
135 | 24 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
|
25 o SPARC32 (v7/v8) support |
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
26 o SPARC64 (v9) support |
237 | 27 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
|
28 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
|
29 o allocated space used for thunk now always W^X (req. for e.g. OpenBSD >= 6.0) |
217 | 30 dynload: |
224 | 31 o major reliability/stability fixes for Mach-O dlSyms* functions to (thanks Stéphane Mons for help): |
32 better handle loading dylibs by symlink, relative path, random casing, etc. | |
33 fixes to symbol name lookups that used wrong offsets before | |
34 64-bit platform fixes (was broken on x64 and never supported on others) | |
217 | 35 o allowing Mach-O dlSyms* lib to be used standalone (consistent with ELF and PE impls now) |
224 | 36 o simplifications of implemention on Darwin, sharing parts with *nix implementation |
221 | 37 o potentially breaking change on macos/Darwin platforms: all functions now consistently accept or |
224 | 38 return symbol names as they would appear in C code, instead of the raw ones in object files |
247 | 39 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
|
40 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
|
41 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
|
42 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
|
43 toolchains (thanks Thorsten Behrens for report and analysis) |
79 | 44 doc: |
45 o working html doc generation from TEX sources | |
197
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
46 o SPARC32 (v7/v8) calling convention description |
53c42b1d9f8b
- sparc doc improvements for both, 32 and 64
Tassilo Philipp
parents:
185
diff
changeset
|
47 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
|
48 bindings: |
84 | 49 o better documentation, removed relative path dependencies, general cleanup |
50 o python: updated to latest signature format (was still on 0.1) | |
51 o java: rewritten (old version was never complete, anyways) | |
214 | 52 tests: |
53 o added new dynload_plain test covering basic use of all dynload functions | |
151 | 54 buildsys: |
55 o cmake: made to work on systems without C++ compiler (thanks Franklin Mathieu) | |
65 | 56 |
59 | 57 Version 0.9 (2015/12/31) |
0 | 58 dyncall: |
40 | 59 o ARM64 support (AAPCS64 on Linux & Apple's derived version on iOS) |
60 o armhf calling convention support for ARM32 | |
206 | 61 o PPC64 support, including syscalls (thanks Masanori Mitsugi!) |
0 | 62 o introduced dcArgF and dcVArgF for flexible/convenient argument binding (works like dcCallF/dcVCallF but without the function call) |
21 | 63 o using -fPIC by default for FreeBSD |
0 | 64 o PPC32 linux syscall support |
147 | 65 o fixed return value errors for ARM32 on some platforms (e.g. freebsd/arm32, nintendo ds); arm & thumb mode |
0 | 66 dyncallback: |
67 o ARM64 support (AAPCS64 on Linux, Apple's derived version on iOS) | |
40 | 68 o armhf calling convention support for ARM32 |
206 | 69 o PPC64 support (thanks Masanori Mitsugi!) |
0 | 70 o PPC32 System V support (Linux) |
71 o fix for PPC32 Darwin/OS X | |
72 o more intuitive specification of callback return type | |
73 doc: | |
74 o added ARM64 support info and calling convention documentation | |
64 | 75 o added ARM32 armhf section |
0 | 76 o added PPC64 support info |
77 o cleanup, brought all up to date, etc. | |
78 tests: | |
79 o callf test covers new argf interface | |
64 | 80 o several fixes to some test suites |
0 | 81 buildsys: |
82 o more flexible testsuite build and 'pack' target for convenience | |
83 o fixes/additions for OS X universal builds | |
84 o added iOS universal build support for armv7/arm64 | |
85 o helper script for generic .elf -> EBOOT.PBP creation for PSP | |
86 o Sun make fixes for C++ code in test suite | |
87 bindings: | |
88 o erldc: Erlang binding (thanks Erik!) | |
2 | 89 infrastructure: |
90 o moved to hg | |
83
54930a037e8a
- PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents:
80
diff
changeset
|
91 o moved bindings to own repository |
0 | 92 |
40 | 93 Version 0.8 (2014/03/24) |
0 | 94 buildsys: |
95 o big simplification make-based build system, no more distinct GNU and BSD makefiles anymore | |
96 o new, much simpler ./configure for new make-based build-system | |
97 o support for in-source and out-of-source builds for make-based build systems | |
98 o made configure.bat guess x64 as target arch for x64 windows hosts | |
99 o based more sources on portasm generation | |
100 dyncall: | |
101 o fix for ARMv7 Thumb-2 code (tested on iPhone 4 CDMA / iOS 6.0.1) | |
79 | 102 o bugfixes for -O2 builds for SPARC-v9 and SPARC-v7 |
0 | 103 o new optimized call kernel for SPARC-v9 without conditionals |
130 | 104 o bigger refactoring and optimization of MIPS o32 |
0 | 105 o x64 optimizations |
106 dyncallback: | |
107 o added callback support for plan9 | |
108 o big cleanup, removal of duplicate files after introduction of portasm | |
109 o include path fixes for public facing APIs (removed relative paths) | |
110 doc: | |
111 o cleanup of manual and corrections | |
112 o added info about newly supported and/or tested platforms (e.g. FreeBSD on ARM) | |
113 o restructured folder layout for documentation | |
114 o added API doc for dyncallback and dynload | |
115 o added manpages for dyncallback and dynload | |
116 tests: | |
117 o added arm/thumb interwork test suite | |
118 bindings: | |
119 o godc: added bindings for Go | |
120 o rbdc: fixed and extended ruby bindings | |
121 o shdc: renamed shell binding to shdc and added feature to list shared-objects' symbols | |
122 | |
40 | 123 Version 0.7 (2012/01/02) |
0 | 124 architecture: |
79 | 125 o added subproject: portasm - portable (GNU AS,+Apple and MASM) assembly framework |
0 | 126 o added subproject: autovar - predefined macro framework (was dyncall_macros.h) |
127 o added support for Solaris and SunPro compiler for i386, x86_64, sparc and sparc64 | |
128 o improved auto-detection via preprocessor defines | |
129 dyncall updates: | |
130 o uses portasm (GNU,Apple,Microsoft) common sources for x86,x64,ppc32,arm32_arm | |
206 | 131 o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris) |
132 o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris) | |
0 | 133 o bug fixes for x64/win64 calling convention |
134 o added support for mingw32-w64 on x64 | |
135 o improved cdecl x86 calling convention: stack always 16 byte aligned | |
136 o updated API and initial support for structs (for x86/AMD64) | |
137 o initial support for syscalls on x86, added x86 int80h linux/bsd | |
138 o added Minix port (stable) | |
139 o optimized vector buffer for small type pushing | |
140 o minor fix for amd64/sysv: alignment to 32-byte | |
141 o bug fix for ppc32/sysv: ellipsis calls work now | |
142 o updated API, introduced DC_CALL_C_ELLIPSIS_VARARGS | |
143 o changed interface: dcMode does not reset internally anymore | |
144 dyncallback updates: | |
145 o uses portasm for x86,x64 | |
146 o added Solaris/x86/sunpro port (stable) | |
147 o added Minix port (unstable) | |
148 o callback support for Darwin/ppc32 | |
149 o updates source, uses relative includes | |
150 dynload updates: | |
151 o fixes for missing includes (dyncall_alloc.h) | |
152 o fixes for self-resolving symbols on windows | |
153 o removed Dbghelf.lib dependency | |
154 o bug fixes for cygwin/x86 | |
155 o fixes for beos/haiku | |
156 o no dependencies to libdyncall sources. | |
157 buildsys additions: | |
158 o added zero-config (BSD,GNU,SUN) make files (Makefile.embedded) | |
79 | 159 o added in/out-of-source configure2 w/ (BSD,GNU) make files (Makefile.generic) |
160 o added bootstrap lua script (download/build) | |
0 | 161 o Nmakefile: more tests included (resolve_self) |
162 o improved cross-compilation for iOS (upgrade to 4.3 sdk) | |
163 o darwin 8.0 support | |
164 o added 'install' support for Makefile.embedded | |
165 buildsys/gmake updates: | |
166 o added support for msvc/x64 tool-chain | |
167 o default settings for build-dir changed to '.' | |
168 o cleanup: removed top-level Make{Prolog,Epilog,Rules} files and updated all sub-projects and tests | |
169 o added support for DESTDIR staging installation | |
170 o added support for manual page installation | |
171 buildsys/cmake updates: | |
172 o updated find module scripts (see cmake/Modules) | |
173 o added support for using dyncall as sub-project (via *Config.cmake files) | |
174 see details in README.CMake | |
175 o fixes for msvc and ml | |
176 o fixes for CPack | |
177 o fixes for universal builds on Mac OS X | |
178 o supports SunPro with *.S files. | |
179 o added experimental 'dynMake' portable make-based build-system (not stable, yet) | |
180 documentation updates: | |
181 o added dyncallback documentation | |
79 | 182 o updated dyncall documentation |
0 | 183 o minor updates |
184 tests: | |
185 o added flexible test suite for calls (call_suite) based on Lua and C | |
186 o added syscall test | |
187 o updates to resolve-self test (adding additional link flags to export symbols) | |
79 | 188 o improved dir name portability (renamed plain_c++ -> plain_cxx) |
0 | 189 o renamed *.cpp -> *.cc files (OpenBSD/Sun make has no implicit rules for cpp) |
190 | |
40 | 191 Version 0.6 (2010/09/25) |
0 | 192 building: |
193 o new build systems: CMake and Plan9's mk | |
194 o buildsys/gmake tool chain update: pcc and iphone sdk | |
195 o x64 bugfix: added "-fPIC" even for static libs | |
79 | 196 dynload updates: |
0 | 197 o enum symbols update: Mach-O and Win64 (thanks Olivier) |
198 o numerous convenience changes to dynload interface (thanks Olivier) | |
199 o added support for resolving application images itself | |
200 dyncall updates: | |
201 o new platform support: arm/iphone (armv6), x86/Plan9 | |
130 | 202 o new MIPS calling conventions: o32, n64 (both endian models) |
0 | 203 o cleanup: unexported functions in MASM files, b/c export not needed (thanks Olivier) |
204 o interface update: added error reporting facility 'dcGetError' | |
205 o bugfix for ppc32/sysv: ellipsis calls were broken | |
79 | 206 o interface update: added new abstract mode for ellipsis calls (DC_CALL_C_ELLIPSIS) |
0 | 207 docs: |
208 o comprehensive update | |
209 tests: | |
210 o plain: split "plain" test up in C and C++ part | |
211 o callbacksuite: added multiple configuration support for callback_suite | |
212 | |
40 | 213 Version 0.5 (2010/02/01) |
0 | 214 o renamed arm9 stuff to arm32 |
215 o added non-EABI ABI for arm32 (before, EABI was the default implementation) | |
216 o added dyncallback support for x64/windows (thanks Olivier), x64/darwin, arm32/arm, arm32/thumb | |
217 o synced documentation again with current state of the source (lots of small changes) | |
218 o updated ruby binding to current state of signature string (still some features missing, though) | |
219 o added a couple of new options to configure scripts (e.g. prefix-bd, new targets, etc.) | |
220 o darwin universal binary support | |
221 o added new tests callback_plain and calback_suite | |
222 o added Haiku/BeOS support | |
223 | |
40 | 224 Version 0.4 (2009/07/06) |
0 | 225 o added 'doc' makefile target for coherency and ease of use |
226 o fixed nmake buildfiles and configure.bat (were out of date and wrong) | |
227 o test suite clean up (GNUmake, BSDmake): | |
228 target "config" modified, phony without dependencies to other builds | |
221 | 229 o bugfix: GNU fastcall calling convention for float and double arguments was wrong (no skip of register) |
0 | 230 o update: x86win32* suite tests are built on cygwin now, added total result output |
231 o signature types change: | |
232 C Strings: 'S' -> 'Z' | |
233 long: 'l' -> 'j' | |
234 long long: 'L' -> 'l' | |
79 | 235 added unsigned integer type signature characters: upper case encoding |
0 | 236 o added: callbacks component (support only for some platforms ATM) |
237 o added: test cases for alloc_wx, thunk | |
238 o updated Documentation | |
239 | |
40 | 240 Version 0.3 (2009/01/17) |
0 | 241 o added Linux PPC32 support |
242 o added ARM THUMB mode support | |
243 o cosmetic changes, documentation updated | |
244 o bugfix: on cygwin exported C symbols in GNU as are prefixed with '_' now. | |
245 o removed scons build support | |
246 | |
40 | 247 Version 0.2 (2008/05/18) |
0 | 248 o added scons build support |
249 o configure variables all prefix CONFIG_* now | |
250 o configure variable INSTALL_DIR changed to INSTALL_PREFIX | |
251 o configure (shell version) option "--prefix" changed to "--prefix=<path>" | |
252 | |
40 | 253 Version 0.1 (2008/01/23) |
0 | 254 o initial release |
255 |