Commit Graph

69 Commits

Author SHA1 Message Date
Anton Korobeynikov
079b886feb Add cmake option to specify whether warnings / errors are enabled by default.
Currently warnings / errors are enabled by default in debug build.
Otherwise they could be enabled only via environmental variable or
API option call. Add possibility to specify the default during the
build time. This simplifies e.g. integration of the library into
bigger projects as no source changes would be required.
2020-04-28 16:44:44 +03:00
David Carlier
80aeb1bd1d Fix compiler detection 2020-04-15 05:34:07 +01:00
David Carlier
6c5039bad1 Android build fix proposal.
malloc_usable_size has different signature on this platform.
thread and real time apis are part of bionic.
2020-04-14 14:20:56 +01:00
daan
69a0846478 add MI_PADDING flag to cmake to supress use of padding in debug mode 2020-04-07 10:01:18 -07:00
David Carlier
2884affbd7 Using host data rather. 2020-03-07 12:19:48 +00:00
David Carlier
854e81c11d build fix for arm, adding native arch flag to be able to generate
yield asm instruction.
2020-03-07 09:18:45 +00:00
Orkhan Hasanli
b41183e8a3 Creation of symbolic link was failing. #166 2020-03-04 20:45:20 -05:00
daan
9062f39764 enable interpose separate from zones on macOS 2020-02-08 20:08:52 -08:00
daan
03b363a1c2 first working tls on macOS using interpose; still slow 2020-01-29 22:46:44 -08:00
daan
4faf412f53 move 'memory.c' to 'region.c' 2020-01-25 13:28:49 -08:00
daan
6fb434a99b use -fvisibility=hidden on clang as well 2020-01-23 10:31:47 -08:00
daan
9d7ac76d93 fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00
daan
dbe721de39 dont compile test-stress.c as C++ code (or we get atomic compilation errors) 2020-01-17 15:45:12 -08:00
daan
f4ee1760b8 Suppress C source compiled as C++ warning on clang 2020-01-17 15:39:41 -08:00
daan
ba87a39d9f updated random cookie generation using OS primitives and chacha20 2019-12-22 19:37:49 -08:00
daan
6568059cc6 merge from dev 2019-11-21 16:28:28 -08:00
daan
74dbfc30be improved security by encoding NULL values; double free mitigation on by default; more precise free list corruption detection 2019-11-21 15:21:23 -08:00
Daan Leijen
56b9fac4bf merge from dev 2019-11-20 13:31:04 -08:00
Daan Leijen
dccffea662 fix pr #173 by @zerodefect to use case-insensitive matching of the build type; also use MI_DEBUG_FULL option (instead of MI_CHECK_FULL) 2019-11-14 11:01:05 -08:00
daan
17ade3fca5 merge from dev 2019-11-13 17:52:20 -08:00
daan
d4f54dcf30 remove numaif dependency on linux 2019-11-12 10:37:15 -08:00
Daan Leijen
f0e02bab03 pr #168 by @zerodefect to update the install location 2019-11-08 12:22:03 -08:00
daan
6ccfb5a93e merge from dev 2019-11-07 11:00:50 -08:00
daan
56887aeb2f add MI_SECURE_FULL=ON as a cmake option to include double free mitigation 2019-11-07 10:59:45 -08:00
daan
378716c467 refactor and improve atomic bitmap usage 2019-11-07 10:26:52 -08:00
daan
9d6a5acb22 fix unix build warnings 2019-11-03 13:34:54 -08:00
daan
2c12d7f223 optimized numa calls; better Linux support 2019-11-01 22:01:52 -07:00
daan
2d10c78587 fix linux compilation 2019-11-01 20:19:00 -07:00
daan
2affdbbd2e stronger secure mode when defining MI_SECURE=4: checks for double free, corrupted free list, and invalid pointer frees. Performance is impacted but not too much -- more perf testing is needed 2019-10-18 18:11:04 -07:00
daan
3a697abf1f set SONAME and use symbolic link at install (issue #9 and #58) 2019-09-15 20:26:30 -07:00
daan
33f4ec4ac6 put new-delete overrides in separate header file 2019-09-15 19:19:00 -07:00
daan
efe083a548 Merge branch 'master' into dev 2019-09-09 08:06:35 -07:00
Antoine Pitrou
b69a4b52c0 Fix #147: provide CMake option for alternate TLS mechanism
This allows use of dlopen() with mimalloc on Unix.
2019-09-04 12:02:16 +02:00
daan
d7982f8733 make output name not depend on build type capitalization (issue #144) 2019-09-02 09:57:39 -07:00
daan
8ef8ddecc5 Merge branch 'master' into dev 2019-09-02 09:53:34 -07:00
Antoine Pitrou
cbc392434c Add an option to disable building tests 2019-08-28 17:26:56 +02:00
daan
cf7bb70117 Merge branch 'master' into dev 2019-08-27 10:01:20 -07:00
Jim Huang
99e071cf2c Link with -lrt for older glibc
Quoted from Linux Programmer's Manual (2017-09-15):
    #include <time.h>
    int clock_gettime(clockid_t clk_id, struct timespec *tp);
    Link with -lrt (only for glibc versions before 2.17).

This patch adds additional checks for librt availability and append
target_link_libraries accordingly. librt is absent on macOS.

Fixed #139
2019-08-24 21:24:56 +08:00
daan
62de76a327 fix C++ compilation of stress test 2019-08-12 08:55:20 -07:00
daan
7b105c4810 improve layout of page for x64 2019-08-11 10:31:00 -07:00
daan
ab022e4271 fix mimalloc-redirect path on windows cmake build 2019-07-23 15:00:13 -07:00
daan
c02a0c9b49 ensure cmake uses C++ compilation with MSVC 2019-07-23 15:00:13 -07:00
daan
f2f45ad5df fix cmake build on windows 2019-07-23 15:00:13 -07:00
daan
189ad0f81d small optimizations, use bitwise aligne 2019-07-23 15:00:13 -07:00
daan
306a542336 add mimalloc-override header file and use C++ compilation with msvc 2019-07-18 20:28:29 -07:00
daan
ae1794a852 remove accidental test in cmake 2019-07-15 13:36:12 -07:00
daan
ea9dbd1036 set better default options for performance 2019-07-15 13:19:26 -07:00
daan
8dc0b5345b Merge branch 'dev' into dev-exp 2019-07-14 16:50:38 -07:00
daan
a6aa905731 make sure older cmake versions work for build 2019-07-14 14:47:59 -07:00
daan
f844665c9f merge from dev-win 2019-07-10 22:57:37 -07:00