Skip to content
  • Thomas Debesse's avatar
    macos: workaround AppleClang compiler strrchr optimization bug · af2526b0
    Thomas Debesse authored
    Apple shipped a clang built for macOS with an optimization enabled
    that is not available on macOS. This compiler error may then be faced:
    
      ld: Undefined symbols:
    	_memrchr, referenced from:
    	    name_read(char const*) in map.cpp.o
    
    This is a compiler error:
    
    > On Mac OSX (macOS version 12.4, sdk version 12.1) llvm can replace call
    > to strrchr() with call to memrchr() when string length is known at
    > compile time. This results in link error, because memrchr is not present
    > in libSystem.
    > -- https://github.com/llvm/llvm-project/issues/62254
    
    We workaround this by making the string length not known at build time
    on macOS to avoid triggering the unavailable compiler optimization.
    af2526b0