redis/src
Viktor Söderqvist 1d77a8e2c5
Makefile respect user's REDIS_CFLAGS and OPT (#13073)
This change to the Makefile makes it possible to opt out of
`-fno-omit-frame-pointer` added in #12973 and `-flto` (#11350). Those
features were implemented by conditionally modifying the `REDIS_CFLAGS`
and `REDIS_LDFLAGS` variables. Historically, those variables provided a
way for users to pass options to the compiler and linker unchanged.

Instead of conditionally appending optimization flags to REDIS_CFLAGS
and REDIS_LDFLAGS, I want to append them to the OPTIMIZATION variable.

Later in the Makefile, we have `OPT=$(OPTIMIZATION)` (meaning
OPTIMIZATION is only a default for OPT, but OPT can be overridden by the
user), and later the flags are combined like this:

FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
    FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG)

This makes it possible for the the user to override all optimization
flags with e.g. `make OPT=-O1` or just `make OPT=`.

For some reason `-O3` was also already added to REDIS_LDFLAGS by default
in #12339, so I added OPT to FINAL_LDFLAGS to avoid more complex logic
(such as introducing a separate LD_OPT variable).
2024-03-13 17:02:00 +02:00
..
commands Add overhead of all DBs and rehashing dict count to info. (#12913) 2024-03-01 13:41:24 +08:00
modules use $^ instead of $< for linker in module makefile (#10530) 2022-04-05 17:08:27 +03:00
.gitignore
Makefile Makefile respect user's REDIS_CFLAGS and OPT (#13073) 2024-03-13 17:02:00 +02:00
acl.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
adlist.c Don't disconnect all clients in ACL LOAD (#12171) 2023-12-24 11:56:44 +02:00
adlist.h optimize unwatchAllKeys() (#11511) 2022-11-23 17:39:08 +02:00
ae.c Call finalizerProc when free the aeTimeEvent in ae (#13101) 2024-03-03 09:20:18 +02:00
ae.h Add event loop support to the module API (#10001) 2022-01-18 13:10:07 +02:00
ae_epoll.c Fail fast when systemic error occurs in poll (#8749) 2021-04-26 15:52:06 +03:00
ae_evport.c Fix cluster bus extensions backwards compatibility (#10206) 2022-01-30 19:43:37 +02:00
ae_kqueue.c Fix the timing of read and write events under kqueue (#9416) 2021-09-02 11:07:51 +03:00
ae_select.c fix unused argument warning in ae_select.c (#10824) 2022-06-07 14:47:09 +03:00
anet.c Re-indent code and reduce code being complied on Solaris for anetKeepAlive (#12914) 2024-01-08 11:12:24 +02:00
anet.h redis-cli adds -4 / -6 options to determine IPV4 / IPV6 priority in DNS lookup (#11315) 2023-12-24 10:40:34 +02:00
aof.c Fix redis-check-aof incorrectly considering data in manifest format as MP-AOF (#12958) 2024-03-12 08:47:43 +02:00
asciilogo.h Changes http to https in texts (#8495) 2021-03-10 19:11:16 +02:00
atomicvar.h Print stack trace from all threads in crash report (#12453) 2023-09-24 09:47:23 +03:00
bio.c Print strerror when bio initialization fails (#12333) 2023-06-21 17:57:11 +03:00
bio.h Implementing the WAITAOF command (issue #10505) (#11713) 2023-03-14 20:26:21 +02:00
bitops.c BITCOUNT and BITPOS with non-existing key and illegal arguments should return error, not 0 (#11734) 2023-08-21 19:48:30 +03:00
blocked.c Add metrics for WATCH (#12966) 2024-02-18 10:36:41 +02:00
call_reply.c Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
call_reply.h Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
childinfo.c fixes for fork child exit and test: #11463 (#11499) 2022-11-12 20:35:34 +02:00
cli_commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_commands.h Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_common.c Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
cli_common.h Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
cluster.c Fix heap-use-after-free when pubsubshard_channels became NULL (#13038) 2024-02-07 14:53:50 +02:00
cluster.h Use shard-id of the master if the replica does not support shard-id (#12805) 2024-01-06 20:24:41 -08:00
cluster_legacy.c Fix PONG message processing for primary-ship tracking during failovers (#13055) 2024-03-04 17:32:25 -08:00
cluster_legacy.h Replace slots_to_channels radix tree with slot specific dictionaries for shard channels. (#12804) 2023-12-27 17:40:45 +08:00
commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
commands.def Fix propagation of entries_read by calling streamPropagateGroupID unconditionally (#12898) 2024-02-29 09:48:20 +02:00
commands.h Replaced comment with excessive warning. 2023-07-16 17:04:15 -05:00
config.c Re-compute active_defrag_running after adjusting defrag configurations (#13020) 2024-02-06 13:39:07 +02:00
config.h Enable accept4() on *BSD (#13104) 2024-03-12 16:35:52 +02:00
connection.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
connection.h Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
connhelpers.h Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crc16.c
crc16_slottable.h Change crc16 slot table to be fixed size character array instead of pointer to strings (#13112) 2024-03-08 15:50:36 -08:00
crc64.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crc64.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crcspeed.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crcspeed.h Added crcspeed library 2020-04-24 17:11:21 -07:00
db.c Optimize DEL on expired keys (#13080) 2024-02-26 12:50:04 +02:00
debug.c Determine the large limit of the quicklist node based on fill (#12659) 2024-02-22 10:02:38 +02:00
debugmacro.h Supplement define guards to prevent multiple inclusion (#10246) 2022-02-06 20:13:34 -08:00
defrag.c Implement defragmentation for pubsub kvstore (#13058) 2024-03-04 16:56:50 +02:00
dict.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
dict.h Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
endianconv.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
endianconv.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
eval.c Lua eval scripts first in first out LRU eviction (#13108) 2024-03-13 08:27:41 +02:00
evict.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
expire.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
fmacros.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
fmtargs.h Rewrite huge printf calls to smaller ones for readability (#12257) 2023-09-28 09:21:23 +03:00
function_lua.c Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas. (#12451) 2023-08-02 11:43:31 +03:00
functions.c Some cleanups around function (#12940) 2024-01-23 14:26:33 +02:00
functions.h Some cleanups around function (#12940) 2024-01-23 14:26:33 +02:00
geo.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
geo.h
geohash.c Fix mistake / outdated doc comment (#10521) 2022-04-04 15:35:49 +03:00
geohash.h Remove duplicate header file include (#10264) 2022-02-08 16:49:47 +02:00
geohash_helper.c GEOSEARCH BYBOX: Simplified haversine distance formula when longitude diff is 0 (#11579) 2022-12-05 15:45:04 +02:00
geohash_helper.h Delete some unimplemented prototype. (#8882) 2021-04-29 08:25:10 +03:00
hyperloglog.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
intset.c Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
intset.h Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
kvstore.c Implement defragmentation for pubsub kvstore (#13058) 2024-03-04 16:56:50 +02:00
kvstore.h Implement defragmentation for pubsub kvstore (#13058) 2024-03-04 16:56:50 +02:00
latency.c Exit early if slowlog/acllog max len set to zero (#12965) 2024-01-22 16:01:04 -08:00
latency.h Add basic eventloop latency measurement. (#11963) 2023-05-12 20:13:15 +03:00
lazyfree.c Lua eval scripts first in first out LRU eviction (#13108) 2024-03-13 08:27:41 +02:00
listpack.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
listpack.h When converting a set to dict, presize for one more element to be added (#11559) 2022-12-06 11:25:51 +02:00
listpack_malloc.h Use dummy allocator to make accesses defined as per standard (#11982) 2023-04-10 20:38:40 +03:00
localtime.c fix typos (#10402) 2022-03-09 13:58:23 +02:00
logreqres.c Minor change around the req-res validator, skip sentinel commands (#12083) 2023-04-20 23:28:44 +03:00
lolwut.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut.h add include guard for lolwut.h 2020-05-05 23:35:08 -04:00
lolwut5.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut6.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lzf.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzfP.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_c.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_d.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
memtest.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
mkreleasehdr.sh fix the wrong path in mkreleasehdr.sh (#12993) 2024-01-26 15:01:54 -08:00
module.c Add API RedisModule_ClusterKeySlot and RedisModule_ClusterCanonicalKeyNameInSlot (#13069) 2024-03-12 09:26:12 -07:00
monotonic.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
monotonic.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
mt19937-64.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
mt19937-64.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
multi.c Add metrics for WATCH (#12966) 2024-02-18 10:36:41 +02:00
networking.c Fix wathced client test timing issue caused by late close (#13062) 2024-02-20 11:12:19 +02:00
notify.c Add RM_PublishMessageShard (#10543) 2022-04-17 15:43:22 +03:00
object.c Add overhead of all DBs and rehashing dict count to info. (#12913) 2024-03-01 13:41:24 +08:00
pqsort.c Fix null pointer subtraction warning (#10498) 2022-04-04 18:38:18 +03:00
pqsort.h
pubsub.c Implement defragmentation for pubsub kvstore (#13058) 2024-03-04 16:56:50 +02:00
quicklist.c Determine the large limit of the quicklist node based on fill (#12659) 2024-02-22 10:02:38 +02:00
quicklist.h Determine the large limit of the quicklist node based on fill (#12659) 2024-02-22 10:02:38 +02:00
rand.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rand.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rax.c Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
rax.h Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
rax_malloc.h Cluster: hash slots tracking using a radix tree. 2017-03-27 16:37:22 +02:00
rdb.c Fix loading rdb opcode RDB_OPCODE_RESIZEDB (#13050) 2024-02-12 21:55:37 +02:00
rdb.h Refine the purpose of rdb saving with accurate flags (#12925) 2024-02-01 13:41:02 +02:00
redis-benchmark.c Pick random slot for a node to distribute operation across slots in redis-benchmark (#12986) 2024-03-11 11:19:30 -07:00
redis-check-aof.c Fix redis-check-aof incorrectly considering data in manifest format as MP-AOF (#12958) 2024-03-12 08:47:43 +02:00
redis-check-rdb.c update redis-check-rdb types (#12969) 2024-01-23 11:48:02 +02:00
redis-cli.c redis-cli fixes around help hints version filtering (#13097) 2024-03-02 11:48:36 +02:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
redisassert.h Fix a prototype inconsitency of `_serverAssert` between redisassert.h and redis.h (#10872) 2022-06-19 08:42:12 +03:00
redismodule.h Add API RedisModule_ClusterKeySlot and RedisModule_ClusterCanonicalKeyNameInSlot (#13069) 2024-03-12 09:26:12 -07:00
release.c Build TLS as a loadable module 2022-08-23 12:37:56 +03:00
replication.c Refine the purpose of rdb saving with accurate flags (#12925) 2024-02-01 13:41:02 +02:00
resp_parser.c cleanup NBSP characters in comments (#10555) 2023-03-15 11:05:42 +02:00
resp_parser.h Fix an mistake in comment (#10560) 2022-04-10 09:29:50 +03:00
rio.c Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
rio.h Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
script.c fix scripts access wrong slot if they disagree with pre-declared keys (#12906) 2024-01-15 09:57:12 +08:00
script.h fix scripts access wrong slot if they disagree with pre-declared keys (#12906) 2024-01-15 09:57:12 +08:00
script_lua.c Fix conversion of numbers in lua args to redis args (#13115) 2024-03-10 08:46:49 +02:00
script_lua.h Protect any table which is reachable from globals and added globals white list. 2022-04-27 00:37:40 +03:00
sds.c Fix possible corruption in sdsResize (CVE-2023-41056) (#12924) 2024-01-09 13:51:56 +02:00
sds.h Optimization: sdsRemoveFreeSpace to avoid realloc on noop (#11766) 2023-01-31 17:26:35 +02:00
sdsalloc.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00
sentinel.c Bump codespell from 2.2.4 to 2.2.5 (#12557) 2023-09-08 16:10:17 +03:00
server.c Add KVSTORE_FREE_EMPTY_DICTS to cluster mode keys / expires kvstore (#13072) 2024-03-13 08:30:20 +02:00
server.h Lua eval scripts first in first out LRU eviction (#13108) 2024-03-13 08:27:41 +02:00
setcpuaffinity.c cpu affinity: DragonFlyBSD support (#7956) 2020-10-25 14:14:05 +02:00
setproctitle.c Fix failed tests on Linux Alpine and add a CI job. (#8532) 2021-02-23 12:57:45 +02:00
sha1.c Ignore -Wstringop-overread warning for SHA1Transform() on GCC 12 (#11538) 2022-11-24 15:27:16 +02:00
sha1.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
sha256.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
sha256.h fix explanation of sha256 (#9220) 2021-07-10 10:04:54 -05:00
siphash.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
slowlog.c Exit early if slowlog/acllog max len set to zero (#12965) 2024-01-22 16:01:04 -08:00
slowlog.h Auto-generate the command table from JSON files (#9656) 2021-12-15 21:23:15 +02:00
socket.c Improve error handling in connSocketBlockingConnect for various connction failures (#13008) 2024-02-06 14:31:08 +02:00
solarisfixes.h
sort.c Fix SORT STORE quicklist with the right options (#13042) 2024-02-08 14:36:11 +02:00
sparkline.c Fix Uninitialised value error in createSparklineSequence (LATENCY GRAPH) (#11892) 2023-03-09 12:05:50 +02:00
sparkline.h
stream.h Stream consumers: Re-purpose seen-time, add active-time (#11099) 2022-11-30 14:21:31 +02:00
strl.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
syncio.c
syscheck.c fix typos in syscheck (#11710) 2023-01-22 16:32:20 +02:00
syscheck.h Add warning for suspected slow system clocksource setting (#10636) 2022-05-22 17:10:31 +03:00
t_hash.c Shrink dict when deleting dictEntry (#12850) 2024-01-15 08:20:53 +02:00
t_list.c Fix SORT STORE quicklist with the right options (#13042) 2024-02-08 14:36:11 +02:00
t_set.c Shrink dict when deleting dictEntry (#12850) 2024-01-15 08:20:53 +02:00
t_stream.c Xread last entry in stream (#7388) (#13117) 2024-03-13 08:23:32 +02:00
t_string.c Optimize SET PXAT to reduce calls of rewriteClientCommandVector (#12316) 2023-06-15 10:07:47 +03:00
t_zset.c zunionInterDiffGenericCommand use ztrycalloc to avoid OOM panic (#13052) 2024-02-15 10:49:10 +02:00
testhelp.h skip new page cache reclame unit test when running in valgrind (#11808) 2023-02-16 10:50:58 +02:00
threads_mngr.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
threads_mngr.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
timeout.c Blocking command with a 0.001 seconds timeout blocks indefinitely (#11688) 2023-01-08 01:02:48 -08:00
tls.c Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
tracking.c Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
unix.c Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
util.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
util.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
ziplist.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
ziplist.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zmalloc.c SCRIPT FLUSH run truly async, close lua interpreter in bio (#13087) 2024-02-28 17:57:29 +02:00
zmalloc.h SCRIPT FLUSH run truly async, close lua interpreter in bio (#13087) 2024-02-28 17:57:29 +02:00