Verified Commit 97db5662 authored by Charlotte Delenk's avatar Charlotte Delenk
Browse files

Mark entrypointFunctions as used for clang+lto



LLVM currently ignores inline assembly references to symbols during
dead code and data elimination while linking with link-time optimizations
enabled.

This manifests in a very large amount of unresolved references to
entrypointFunctions when building libglvnd using clang with LTO enabled.

This issue fixes #220 by marking the entrypointFunctions array as used,
using a compiler attribute.

Signed-off-by: Charlotte Delenk's avatarCharlotte Delenk <darkkirb@darkkirb.de>
parent 34a07551
Pipeline #405240 passed with stages
in 2 minutes and 58 seconds
......@@ -29,6 +29,7 @@
#include "glvnd_genentry.h"
#include "utils_misc.h"
#include "compiler.h"
#include <string.h>
#include <stdint.h>
......@@ -45,7 +46,7 @@
#define GLX_STUBS_COUNT
#include "g_glx_dispatch_stub_list.h"
static GLVNDentrypointStub entrypointFunctions[GENERATED_ENTRYPOINT_MAX];
USED static GLVNDentrypointStub entrypointFunctions[GENERATED_ENTRYPOINT_MAX];
static char *entrypointNames[GENERATED_ENTRYPOINT_MAX] = {};
static int entrypointCount = 0;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment