diff --git a/libc/cmake/modules/LLVMLibCRules.cmake b/libc/cmake/modules/LLVMLibCRules.cmake --- a/libc/cmake/modules/LLVMLibCRules.cmake +++ b/libc/cmake/modules/LLVMLibCRules.cmake @@ -101,6 +101,7 @@ # add_entrypoint_object( # # [REDIRECTED] # Specified if the entrypoint is redirected. +# [NAME] # SRCS # HDRS # DEPENDS @@ -109,7 +110,7 @@ cmake_parse_arguments( "ADD_ENTRYPOINT_OBJ" "REDIRECTED" # Optional argument - "" # No single value arguments + "NAME" # Single value arguments "SRCS;HDRS;DEPENDS" # Multi value arguments ${ARGN} ) @@ -120,6 +121,11 @@ message(FATAL_ERROR "`add_entrypoint_object` rule requires HDRS to be specified.") endif() + set(entrypoint_name ${target_name}) + if(ADD_ENTRYPOINT_OBJ_NAME) + set(entrypoint_name ${ADD_ENTRYPOINT_OBJ_NAME}) + endif() + add_library( "${target_name}_objects" # We want an object library as the objects will eventually get packaged into @@ -168,7 +174,7 @@ OUTPUT ${object_file} # We llvm-objcopy here as GNU-binutils objcopy does not support the 'hidden' flag. DEPENDS ${object_file_raw} ${llvm-objcopy} - COMMAND $ --add-symbol "${target_name}=.llvm.libc.entrypoint.${target_name}:${alias_attributes}" ${object_file_raw} ${object_file} + COMMAND $ --add-symbol "${entrypoint_name}=.llvm.libc.entrypoint.${entrypoint_name}:${alias_attributes}" ${object_file_raw} ${object_file} ) add_custom_target(