On Sat, Apr 25, 2020 at 05:20:34PM -0000, Christian Weisgerber wrote:
> On 2020-04-25, phess...@openbsd.org <phess...@openbsd.org> wrote:
> 
> > started on  Wed Apr 22 00:58:02 MDT 2020
> > finished at Fri Apr 24 19:24:46 MDT 2020
> 
> > http://build-failures.rhaalovely.net/aarch64/2020-04-22/editors/xwpe.log
> 
> clang backend error
> 
> > http://build-failures.rhaalovely.net/aarch64/2020-04-22/graphics/vulkan-loader.log
> 
> configure requires as(1).  Presumably that can be worked around,
> but I'm not sure that will get us anywhere.  Haven't looked.

Builds (with a warning about assembly path not being used on aarch64
but not amd64) after backporting a patch

https://github.com/KhronosGroup/Vulkan-Loader/commit/85836796b3574fa8fa593a1da4d2a710f3467168.patch

present upstream since sdk-1.1.121.0 tag, we are a few releases behind
at this point.  Though updating the vulkan ports would be something for
after unlock at this point.

sdk-1.1.108.0   20190612        vulkan ports are currently based on this
sdk-1.1.114.0   20190723
sdk-1.1.121.0   20190912
sdk-1.1.126.0   20191029
sdk-1.1.130.0   20191213
sdk-1.2.131.1   20200125
sdk-1.2.131.2   20200206
sdk-1.2.135.0   20200403

Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/vulkan-loader/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- Makefile    27 Jul 2019 15:47:35 -0000      1.4
+++ Makefile    26 Apr 2020 03:18:46 -0000
@@ -38,5 +38,7 @@ NO_TEST =     Yes
 
 pre-configure:
        ${SUBST_CMD} ${WRKSRC}/CMakeLists.txt
+       cp ${WRKSRC}/loader/unknown_ext_chain_gas.asm \
+           ${WRKSRC}/loader/unknown_ext_chain_gas.S
 
 .include <bsd.port.mk>
Index: patches/patch-loader_CMakeLists_txt
===================================================================
RCS file: 
/cvs/ports/graphics/vulkan-loader/patches/patch-loader_CMakeLists_txt,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-loader_CMakeLists_txt
--- patches/patch-loader_CMakeLists_txt 22 Jun 2019 15:28:42 -0000      1.1.1.1
+++ patches/patch-loader_CMakeLists_txt 26 Apr 2020 03:18:46 -0000
@@ -2,6 +2,9 @@ $OpenBSD: patch-loader_CMakeLists_txt,v 
 
 Avoid vulkan-validation-layers vk_loader_platform.h being used.
 
+loader: move to using gcc for asm compiles on Linux.
+85836796b3574fa8fa593a1da4d2a710f3467168
+
 Index: loader/CMakeLists.txt
 --- loader/CMakeLists.txt.orig
 +++ loader/CMakeLists.txt
@@ -14,7 +17,37 @@ Index: loader/CMakeLists.txt
  
  # Check for the existance of the secure_getenv or __secure_getenv commands
  include(CheckFunctionExists)
-@@ -247,7 +247,7 @@ else()
+@@ -148,22 +148,16 @@ elseif(APPLE)
+     set_source_files_properties(${OPT_LOADER_SRCS} PROPERTIES COMPILE_FLAGS 
-O)
+     add_custom_target(loader_asm_gen_files) # This causes no assembly files 
to be generated.
+ else(UNIX AND NOT APPLE) # i.e.: Linux
+-    enable_language(ASM-ATT)
+-    set(CMAKE_ASM-ATT_COMPILE_FLAGS "${CMAKE_ASM-ATT_COMPILE_FLAGS} 
$ENV{ASFLAGS}")
+-    set(CMAKE_ASM-ATT_COMPILE_FLAGS "${CMAKE_ASM-ATT_COMPILE_FLAGS} 
-I\"${CMAKE_CURRENT_BINARY_DIR}\"")
++    enable_language(ASM)
++    set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
+ 
+-    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/asm_test.asm
++    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/asm_test.S
+                ".intel_syntax noprefix\n.text\n.global sample\nsample:\nmov 
ecx, [eax + 16]\n")
+-    # try_compile uses the C/C++ linker flags even for ASM,
+-    # while they're not valid for ASM and making linking fail.
+-    set(TMP_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
+-    set(CMAKE_EXE_LINKER_FLAGS "")
+-    try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} 
${CMAKE_CURRENT_BINARY_DIR}/asm_test.asm)
+-    set(CMAKE_EXE_LINKER_FLAGS ${TMP_EXE_LINKER_FLAGS})
+-    file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/asm_test.asm)
++    set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
++    try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} 
${CMAKE_CURRENT_BINARY_DIR}/asm_test.S)
++    file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/asm_test.S)
+     if(ASSEMBLER_WORKS)
+-        set(CMAKE_ASM-ATT_FLAGS "$ENV{ASFLAGS} 
-I\"${CMAKE_CURRENT_BINARY_DIR}\"")
+-        set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas.asm)
++        set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas.S)
+         add_executable(asm_offset asm_offset.c)
+         add_dependencies(asm_offset generate_helper_files loader_gen_files)
+         target_link_libraries(asm_offset Vulkan::Headers)
+@@ -247,7 +241,7 @@ else()
                                       "1"
                                       VERSION
                                       
"${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}")

Reply via email to