New comment by ivmai on void-packages repository https://github.com/void-linux/void-packages/pull/34176#issuecomment-974774146 Comment: > Cleanup 1: for musl, the current template sets CFLAGS='-D_GNU_SOURCE -DNO_GETCONTEXT -DSEARCH_FOR_DATA_START -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR' but all of this seems noop except maybe -DSEARCH_FOR_DATA_START which I don't understand; it seems originally came from alpine which in fact doesn't use it anymore. In any case I'd argue for using the same CFLAGS for all archs and since this seems to be working without any... Yes, I think most of them are no-op as you listed. As for SEARCH_FOR_DATA_START, I have several regular musl jobs on Travis (see (.travis.yml)[https://github.com/ivmai/bdwgc/blob/master/.travis.yml]) w/o this macro defined explicitly - the tests always pass. So, I don't know whether it is needed or not in practice. It look like both approaches are reliable - rely on __data_start or scanning of write-accessible space down from _end in case SEARCH_FOR_DATA_START, or rely on __environ otherwise (the default in upstream). Up to you but my suggestion: to remove SEARCH_FOR_DATA_START and see if there any bug reports (or search for similar bugs in the past) , if yes then report the bug upstream.