30 lines
769 B
C
30 lines
769 B
C
|
#include <stdio.h>
|
||
|
#include <asm/types.h>
|
||
|
/* For some reason, x86_64 nowhere defines u64 and u32, even though they're
|
||
|
* used throughout the headers.
|
||
|
*/
|
||
|
typedef __u64 u64;
|
||
|
typedef __u32 u32;
|
||
|
#include <asm/user.h>
|
||
|
|
||
|
int main(int argc, char **argv)
|
||
|
{
|
||
|
printf("/*\n");
|
||
|
printf(" * Generated by mk_user_constants\n");
|
||
|
printf(" */\n");
|
||
|
printf("\n");
|
||
|
printf("#ifndef __UM_USER_CONSTANTS_H\n");
|
||
|
printf("#define __UM_USER_CONSTANTS_H\n");
|
||
|
printf("\n");
|
||
|
/* I'd like to use FRAME_SIZE from ptrace.h here, but that's wrong on
|
||
|
* x86_64 (216 vs 168 bytes). user_regs_struct is the correct size on
|
||
|
* both x86_64 and i386.
|
||
|
*/
|
||
|
printf("#define UM_FRAME_SIZE %d\n", (int) sizeof(struct user_regs_struct));
|
||
|
|
||
|
printf("\n");
|
||
|
printf("#endif\n");
|
||
|
|
||
|
return(0);
|
||
|
}
|