FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
linux/scripts/mod/mk_elfconfig.c at master · fabgithub/linux · GitHub
fabgithub
linux
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
linux
/
scripts
/
mod
/
mk_elfconfig.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
57 lines (51 loc) · 1.21 KB
Breadcrumbs
linux
/
scripts
/
mod
/
mk_elfconfig.c
Copy path
File metadata and controls
57 lines (51 loc) · 1.21 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
47
48
49
50
51
52
53
54
55
56
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<elf.h>
int
main
(
int
argc
,
char
*
*
argv
)
{
unsigned
char
ei
[
EI_NIDENT
];
union
{
short
s
;
char
c
[
2
]; }
endian_test
;
if
(
fread
(
ei
,
1
,
EI_NIDENT
,
stdin
)
!=
EI_NIDENT
) {
fprintf
(
stderr
,
"Error: input truncated\n"
);
return
1
;
}
if
(
memcmp
(
ei
,
ELFMAG
,
SELFMAG
)
!=
0
) {
fprintf
(
stderr
,
"Error: not ELF\n"
);
return
1
;
}
switch
(
ei
[
EI_CLASS
]) {
case
ELFCLASS32
:
printf
(
"#define KERNEL_ELFCLASS ELFCLASS32\n"
);
break
;
case
ELFCLASS64
:
printf
(
"#define KERNEL_ELFCLASS ELFCLASS64\n"
);
break
;
default
:
exit
(
1
);
}
switch
(
ei
[
EI_DATA
]) {
case
ELFDATA2LSB
:
printf
(
"#define KERNEL_ELFDATA ELFDATA2LSB\n"
);
break
;
case
ELFDATA2MSB
:
printf
(
"#define KERNEL_ELFDATA ELFDATA2MSB\n"
);
break
;
default
:
exit
(
1
);
}
if
(
sizeof
(
unsigned long
)
==
4
) {
printf
(
"#define HOST_ELFCLASS ELFCLASS32\n"
);
}
else
if
(
sizeof
(
unsigned long
)
==
8
) {
printf
(
"#define HOST_ELFCLASS ELFCLASS64\n"
);
}
endian_test
.
s
=
0x0102
;
if
(
memcmp
(
endian_test
.
c
,
"\x01\x02"
,
2
)
==
0
)
printf
(
"#define HOST_ELFDATA ELFDATA2MSB\n"
);
else
if
(
memcmp
(
endian_test
.
c
,
"\x02\x01"
,
2
)
==
0
)
printf
(
"#define HOST_ELFDATA ELFDATA2LSB\n"
);
else
exit
(
1
);
return
0
;
}
Back
|
FazBrowse Home
|
New Git URL