mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 11:44:58 +00:00
AK+readelf: Issue error when using ARCH(arch) with nonexistent arch
This disallows erroneous `#if ARCH(x86_64)` (note lowercase x).
This commit is contained in:
parent
11b40dbcf5
commit
4536b80a62
3 changed files with 14 additions and 5 deletions
|
@ -13,14 +13,23 @@
|
||||||
|
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
# define AK_ARCH_X86_64 1
|
# define AK_ARCH_X86_64 1
|
||||||
|
# define AK_IS_ARCH_X86_64() 1
|
||||||
|
#else
|
||||||
|
# define AK_IS_ARCH_X86_64() 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __aarch64__
|
#ifdef __aarch64__
|
||||||
# define AK_ARCH_AARCH64 1
|
# define AK_ARCH_AARCH64 1
|
||||||
|
# define AK_IS_ARCH_AARCH64() 1
|
||||||
|
#else
|
||||||
|
# define AK_IS_ARCH_AARCH64() 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __wasm32__
|
#ifdef __wasm32__
|
||||||
# define AK_ARCH_WASM32 1
|
# define AK_ARCH_WASM32 1
|
||||||
|
# define AK_IS_ARCH_WASM32() 1
|
||||||
|
#else
|
||||||
|
# define AK_IS_ARCH_WASM32() 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8) || defined(_WIN64)
|
#if (defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8) || defined(_WIN64)
|
||||||
|
@ -88,7 +97,7 @@
|
||||||
# define AK_OS_EMSCRIPTEN
|
# define AK_OS_EMSCRIPTEN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ARCH(arch) (defined(AK_ARCH_##arch) && AK_ARCH_##arch)
|
#define ARCH(arch) (AK_IS_ARCH_##arch())
|
||||||
|
|
||||||
#if ARCH(X86_64)
|
#if ARCH(X86_64)
|
||||||
# define VALIDATE_IS_X86()
|
# define VALIDATE_IS_X86()
|
||||||
|
@ -192,7 +201,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef AK_SYSTEM_CACHE_ALIGNMENT_SIZE
|
#ifndef AK_SYSTEM_CACHE_ALIGNMENT_SIZE
|
||||||
# if ARCH(AARCH64) || ARCH(x86_64)
|
# if ARCH(AARCH64) || ARCH(X86_64)
|
||||||
# define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 64
|
# define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 64
|
||||||
# else
|
# else
|
||||||
# define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 128
|
# define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 128
|
||||||
|
|
|
@ -77,7 +77,7 @@ ALWAYS_INLINE static f32x4 exp_approximate(f32x4 v)
|
||||||
|
|
||||||
ALWAYS_INLINE static f32x4 sqrt(f32x4 v)
|
ALWAYS_INLINE static f32x4 sqrt(f32x4 v)
|
||||||
{
|
{
|
||||||
#if ARCH(x86_64)
|
#if ARCH(X86_64)
|
||||||
return __builtin_ia32_sqrtps(v);
|
return __builtin_ia32_sqrtps(v);
|
||||||
#else
|
#else
|
||||||
return f32x4 {
|
return f32x4 {
|
||||||
|
@ -91,7 +91,7 @@ ALWAYS_INLINE static f32x4 sqrt(f32x4 v)
|
||||||
|
|
||||||
ALWAYS_INLINE static f32x4 rsqrt(f32x4 v)
|
ALWAYS_INLINE static f32x4 rsqrt(f32x4 v)
|
||||||
{
|
{
|
||||||
#if ARCH(x86_64)
|
#if ARCH(X86_64)
|
||||||
return __builtin_ia32_rsqrtps(v);
|
return __builtin_ia32_rsqrtps(v);
|
||||||
#else
|
#else
|
||||||
return f32x4 {
|
return f32x4 {
|
||||||
|
|
|
@ -186,7 +186,7 @@ static char const* object_symbol_binding_to_string(ElfW(Word) type)
|
||||||
static char const* object_relocation_type_to_string(ElfW(Word) type)
|
static char const* object_relocation_type_to_string(ElfW(Word) type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
#if ARCH(x86_64)
|
#if ARCH(X86_64)
|
||||||
case R_X86_64_NONE:
|
case R_X86_64_NONE:
|
||||||
return "R_X86_64_NONE";
|
return "R_X86_64_NONE";
|
||||||
case R_X86_64_64:
|
case R_X86_64_64:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue