Changeset View
Changeset View
Standalone View
Standalone View
contrib/libunwind/src/assembly.h
Show All 29 Lines | |||||
#define PPC64_HAS_VMX | #define PPC64_HAS_VMX | ||||
#endif | #endif | ||||
#elif defined(__arm64__) | #elif defined(__arm64__) | ||||
#define SEPARATOR %% | #define SEPARATOR %% | ||||
#else | #else | ||||
#define SEPARATOR ; | #define SEPARATOR ; | ||||
#endif | #endif | ||||
#if defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1) | |||||
#define PPC64_OPD1 .section .opd,"aw",@progbits SEPARATOR | |||||
#define PPC64_OPD2 SEPARATOR \ | |||||
.p2align 3 SEPARATOR \ | |||||
.quad .Lfunc_begin0 SEPARATOR \ | |||||
.quad .TOC.@tocbase SEPARATOR \ | |||||
.quad 0 SEPARATOR \ | |||||
.text SEPARATOR \ | |||||
.Lfunc_begin0: | |||||
#else | |||||
#define PPC64_OPD1 | |||||
#define PPC64_OPD2 | |||||
#endif | |||||
#define GLUE2(a, b) a ## b | #define GLUE2(a, b) a ## b | ||||
#define GLUE(a, b) GLUE2(a, b) | #define GLUE(a, b) GLUE2(a, b) | ||||
#define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name) | #define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name) | ||||
#if defined(__APPLE__) | #if defined(__APPLE__) | ||||
#define SYMBOL_IS_FUNC(name) | #define SYMBOL_IS_FUNC(name) | ||||
#define EXPORT_SYMBOL(name) | #define EXPORT_SYMBOL(name) | ||||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
#error Unsupported target | #error Unsupported target | ||||
#endif | #endif | ||||
#define DEFINE_LIBUNWIND_FUNCTION(name) \ | #define DEFINE_LIBUNWIND_FUNCTION(name) \ | ||||
.globl SYMBOL_NAME(name) SEPARATOR \ | .globl SYMBOL_NAME(name) SEPARATOR \ | ||||
EXPORT_SYMBOL(name) SEPARATOR \ | EXPORT_SYMBOL(name) SEPARATOR \ | ||||
SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR \ | SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR \ | ||||
SYMBOL_NAME(name): | PPC64_OPD1 \ | ||||
SYMBOL_NAME(name): \ | |||||
PPC64_OPD2 | |||||
#define DEFINE_LIBUNWIND_PRIVATE_FUNCTION(name) \ | #define DEFINE_LIBUNWIND_PRIVATE_FUNCTION(name) \ | ||||
.globl SYMBOL_NAME(name) SEPARATOR \ | .globl SYMBOL_NAME(name) SEPARATOR \ | ||||
HIDDEN_SYMBOL(SYMBOL_NAME(name)) SEPARATOR \ | HIDDEN_SYMBOL(SYMBOL_NAME(name)) SEPARATOR \ | ||||
SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR \ | SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR \ | ||||
SYMBOL_NAME(name): | PPC64_OPD1 \ | ||||
SYMBOL_NAME(name): \ | |||||
PPC64_OPD2 | |||||
dim: Hm, I do NOT see this particular change in rS349793. Apparently the… | |||||
#if defined(__arm__) | #if defined(__arm__) | ||||
#if !defined(__ARM_ARCH) | #if !defined(__ARM_ARCH) | ||||
#define __ARM_ARCH 4 | #define __ARM_ARCH 4 | ||||
#endif | #endif | ||||
#if defined(__ARM_ARCH_4T__) || __ARM_ARCH >= 5 | #if defined(__ARM_ARCH_4T__) || __ARM_ARCH >= 5 | ||||
#define ARM_HAS_BX | #define ARM_HAS_BX | ||||
Show All 10 Lines |
Hm, I do NOT see this particular change in rS349793. Apparently the DEFINE_LIBUNWIND_PRIVATE_FUNCTION macro went away in https://github.com/llvm/llvm-project/commit/e369a989fc37248f4aa05ab2d184270ac27b22e1#diff-99a7b5f768d8715507629783345d6010, and the upstream merge to 8.0.1 missed it?
How important are the added PPC64_OPD1/2 lines before and after the SYMBOL_NAME line?