File: test.c

package info (click to toggle)
delve 1.26.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,136 kB
  • sloc: ansic: 111,947; sh: 194; asm: 147; makefile: 43; python: 23
file content (46 lines) | stat: -rw-r--r-- 971 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#ifdef __amd64__
#define BREAKPOINT asm("int3;")
#elif __i386__
#define BREAKPOINT asm("int3;")
#elif __aarch64__
#ifdef WIN32
#define BREAKPOINT asm("brk 0xF000;")
#else
#define BREAKPOINT asm("brk 0;")
#endif
#elif __riscv
#define BREAKPOINT asm("ebreak;")
#elif __loongarch__
#define BREAKPOINT asm("break 0;")
#endif

#define N 100

struct align_check {
	int a;
	char b;
};

void testfn(void) {
	const char *s0 = "a string";
	const char *longstring = "averylongstring0123456789a0123456789b0123456789c0123456789d0123456789e0123456789f0123456789g0123456789h0123456789";
	int *v = malloc(sizeof(int) * N);
	struct align_check *v_align_check = malloc(sizeof(struct align_check) * N);

	for (int i = 0; i < N; i++) {
		v[i] = i;
		v_align_check[i].a = i;
		v_align_check[i].b = i;
	}

	char *s = malloc(strlen(s0) + 1);
	strcpy(s, s0);

	BREAKPOINT;

	printf("%s %s %p %p\n", s, longstring, v, v_align_check);
}