NVIDIA/libglvnd

Compilation errror on macOS Big Sur with Apple Silicon

Closed this issue · 2 comments

$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src
Making all in util
  CC       glvnd_pthread.lo
  CCLD     libglvnd_pthread.la
  CC       app_error_check.lo
  CCLD     libapp_error_check.la
  CC       utils_misc.lo
  CCLD     libutils_misc.la
  CC       trace.lo
  CCLD     libtrace.la
  CC       libwinsys_dispatch_la-winsys_dispatch.lo
  CCLD     libwinsys_dispatch.la
  CC       cJSON.lo
  CCLD     libcJSON.la
Making all in GLdispatch
Making all in vnd-glapi
  GEN      glapi_mapi_tmp.h
  GEN      g_glapi_mapi_gl_tmp.h
  GEN      g_glapi_mapi_opengl_tmp.h
  GEN      g_glapi_mapi_glesv1_tmp.h
  GEN      g_glapi_mapi_glesv2_tmp.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
  CC       libglapi_la-entry_aarch64_tsd.lo
<inline asm>:4:1: error: unknown directive
.hidden public_entry_start
^
<inline asm>:8:2: error: unknown directive
        .type glAccum, %function
        ^
<inline asm>:39:2: error: unknown directive
        .type glAccumxOES, %function
        ^
<inline asm>:70:2: error: unknown directive
        .type glAcquireKeyedMutexWin32EXT, %function
        ^
<inline asm>:101:2: error: unknown directive
        .type glActiveProgramEXT, %function
        ^
<inline asm>:132:2: error: unknown directive
        .type glActiveShaderProgram, %function
        ^
<inline asm>:163:2: error: unknown directive
        .type glActiveShaderProgramEXT, %function
        ^
<inline asm>:194:2: error: unknown directive
        .type glActiveStencilFaceEXT, %function
        ^
<inline asm>:225:2: error: unknown directive
        .type glActiveTexture, %function
        ^
<inline asm>:256:2: error: unknown directive
        .type glActiveTextureARB, %function
        ^
<inline asm>:287:2: error: unknown directive
        .type glActiveVaryingNV, %function
        ^
<inline asm>:318:2: error: unknown directive
        .type glAlphaFragmentOp1ATI, %function
        ^
<inline asm>:349:2: error: unknown directive
        .type glAlphaFragmentOp2ATI, %function
        ^
<inline asm>:380:2: error: unknown directive
        .type glAlphaFragmentOp3ATI, %function
        ^
<inline asm>:411:2: error: unknown directive
        .type glAlphaFunc, %function
        ^
<inline asm>:442:2: error: unknown directive
        .type glAlphaFuncQCOM, %function
        ^
<inline asm>:473:2: error: unknown directive
        .type glAlphaFuncx, %function
        ^
<inline asm>:504:2: error: unknown directive
        .type glAlphaFuncxOES, %function
        ^
<inline asm>:535:2: error: unknown directive
        .type glAlphaToCoverageDitherControlNV, %function
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

This is with Apple's clang:

$ clang --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: arm64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Same happens with vanilla from LLVM 11.

It works if I do --disable-asm for ./configure, but there's probably a better way to handle this.

@bobrik -- Libglvnd is hosted on FreeDesktop now. Can you please file this bug over here:
https://gitlab.freedesktop.org/glvnd/libglvnd