This commit is contained in:
lizzie 2026-05-07 18:14:58 +00:00
parent c8c61a12c3
commit 66141a2e7c
3 changed files with 138 additions and 0 deletions

24
tools/sysvpatch.c Normal file
View file

@ -0,0 +1,24 @@
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
char s[BUFSIZ];
snprintf(s, sizeof s, "strip %s", argv[1]);
system(s);
struct stat st;
int fd = open(argv[1], O_RDONLY);
if (fd) {
fstat(fd, &st);
char *buf = malloc(st.st_size);
write(fd, buf, st.st_size);
close(fd);
/* set elf type to 0 = SYSV */
buf[7] = 0;
write(fileno(stdout), buf, st.st_size);
free(buf);
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}