userland: scope every header identifier with lkmc_

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-05-21 00:00:01 +00:00
parent 6fe9e5bae7
commit 72200dee4e
78 changed files with 369 additions and 377 deletions

View File

@@ -2,8 +2,8 @@
#include "common.h"
ENTRY
LKMC_ENTRY
mov $1, %rax
add $2, %rax
ASSERT_EQ(%rax, $3)
EXIT
LKMC_ASSERT_EQ(%rax, $3)
LKMC_EXIT

View File

@@ -5,7 +5,7 @@
#include "common.h"
ENTRY
LKMC_ENTRY
.bss
output: .skip 16
.data
@@ -21,11 +21,11 @@ ENTRY
movups addp ## size ## _input1, %xmm1; \
addp ## size %xmm1, %xmm0; \
movups %xmm0, output; \
ASSERT_MEMCMP(output, addp ## size ## _expect, $0x10)
LKMC_ASSERT_MEMCMP(output, addp ## size ## _expect, $0x10)
/* 4x 32-bit */
TEST(s)
/* 2x 64-bit */
TEST(d)
#undef TEST
EXIT
LKMC_EXIT

View File

@@ -5,32 +5,32 @@
/* This and other macros may make C function calls, and therefore can destroy
* non-callee saved registers. */
#define ASSERT_EQ(general1, general2) \
#define LKMC_ASSERT_EQ(general1, general2) \
mov general2, %rdi; \
push %rdi; \
mov general1, %rdi; \
pop %rsi; \
ASSERT_EQ_DO(64); \
LKMC_ASSERT_EQ_DO(64); \
;
#define ASSERT_EQ_DO(bits) \
call assert_eq_ ## bits; \
#define LKMC_ASSERT_EQ_DO(bits) \
call lkmc_assert_eq_ ## bits; \
cmp $0, %rax; \
ASSERT(je); \
LKMC_ASSERT(je); \
;
#define ASSERT_MEMCMP(label1, label2, const_size) \
#define LKMC_ASSERT_MEMCMP(label1, label2, const_size) \
lea label1(%rip), %rdi; \
lea label2(%rip), %rsi; \
mov const_size, %rdx; \
call assert_memcmp; \
call lkmc_assert_memcmp; \
cmp $0, %rax; \
ASSERT(je); \
LKMC_ASSERT(je); \
;
/* Program entry point.
*
* Return with EXIT.
* Return with LKMC_EXIT.
*
* Basically implements an x86_64 prologue:
*
@@ -38,7 +38,7 @@
* x86_64 explained at: https://stackoverflow.com/questions/18024672/what-registers-are-preserved-through-a-linux-x86-64-function-call/55207335#55207335
* - save register arguments for later usage
*/
#define ENTRY \
#define LKMC_ENTRY \
.text; \
.global asm_main; \
asm_main: \
@@ -54,13 +54,13 @@ asm_main: \
asm_main_after_prologue: \
;
/* Meant to be called at the end of ENTRY.*
/* Meant to be called at the end of LKMC_ENTRY.*
*
* Branching to "fail" makes tests fail with exit status 1.
*
* If EXIT is reached, the program ends successfully.
* If LKMC_EXIT is reached, the program ends successfully.
*/
#define EXIT \
#define LKMC_EXIT \
mov $0, %rax; \
jmp pass; \
fail: \
@@ -79,7 +79,7 @@ pass: \
ret; \
;
#define FAIL \
#define LKMC_FAIL \
mov $__LINE__, %eax; \
jmp fail; \
;

View File

@@ -2,12 +2,12 @@
#include "common.h"
ENTRY
LKMC_ENTRY
#define ASSERT_DIFF(label1, label2, result) \
lea label2(%rip), %rax; \
lea label1(%rip), %rbx; \
sub %rbx, %rax; \
ASSERT_EQ(%rax, $result)
LKMC_ASSERT_EQ(%rax, $result)
ASSERT_DIFF(mybyte, myword, 1)
ASSERT_DIFF(myword, mylong, 2)
@@ -15,7 +15,7 @@ ENTRY
ASSERT_DIFF(myquad, myocta, 8)
ASSERT_DIFF(myocta, theend, 16)
#undef ASSERT_DIF
EXIT
LKMC_EXIT
mybyte:
.byte 0x12
myword:

View File

@@ -2,15 +2,15 @@
#include "common.h"
ENTRY
LKMC_ENTRY
mov $0x123456789ABCDEF0, %r12
mov $0x123456789ABCDEF0, %r13
ASSERT_EQ(%r12, $0x123456789ABCDEF0)
ASSERT_EQ(%r12, %r13)
ASSERT_EQ(%r12, myvar)
ASSERT_EQ($0x123456789ABCDEF0, %r12)
ASSERT_EQ(%r13, %r12)
ASSERT_EQ(myvar, %r12)
ASSERT_EQ(%r12, $0x123456789ABCDEF1)
EXIT
LKMC_ASSERT_EQ(%r12, $0x123456789ABCDEF0)
LKMC_ASSERT_EQ(%r12, %r13)
LKMC_ASSERT_EQ(%r12, myvar)
LKMC_ASSERT_EQ($0x123456789ABCDEF0, %r12)
LKMC_ASSERT_EQ(%r13, %r12)
LKMC_ASSERT_EQ(myvar, %r12)
LKMC_ASSERT_EQ(%r12, $0x123456789ABCDEF1)
LKMC_EXIT
myvar: .quad 0x123456789ABCDEF0

View File

@@ -2,10 +2,10 @@
#include "common.h"
ENTRY
ASSERT_MEMCMP(var0, var1, $0x10)
ASSERT_MEMCMP(var0, var2, $0x10)
EXIT
LKMC_ENTRY
LKMC_ASSERT_MEMCMP(var0, var1, $0x10)
LKMC_ASSERT_MEMCMP(var0, var2, $0x10)
LKMC_EXIT
var0: .long 0x11111111, 0x22222222, 0x33333333, 0x44444444
var1: .long 0x11111111, 0x22222222, 0x33333333, 0x44444444
var2: .long 0x11111111, 0x22222223, 0x23333333, 0x44444444

View File

@@ -7,7 +7,7 @@
#include "common.h"
ENTRY
LKMC_ENTRY
.data
input0: .long 0xF1F1F1F1, 0xF2F2F2F2, 0xF3F3F3F3, 0xF4F4F4F4
input1: .long 0x12121212, 0x13131313, 0x14141414, 0x15151515
@@ -23,7 +23,7 @@ ENTRY
movups input0, %xmm0; \
padd ## size %xmm1, %xmm0; \
movups %xmm0, output; \
ASSERT_MEMCMP(output, padd ## size ## _expect, $0x10)
LKMC_ASSERT_MEMCMP(output, padd ## size ## _expect, $0x10)
/* 16x 8-bit */
TEST(b)
@@ -35,4 +35,4 @@ ENTRY
/* 2x 16-bit */
TEST(q)
#undef TEST
EXIT
LKMC_EXIT