Permalink
Fetching contributors…
Cannot retrieve contributors at this time
executable file 186 lines (183 sloc) 2.06 KB
#!/bin/sh
empty_file() {
rm -f "$1"
touch "$1"
}
dir="$1"
# fix files breaking the build entirely
for i in freadahead.c fseterr.c ; do empty_file "$dir"/$i ; done
echo "void close_stdin(void) {}" > "$dir"/closein.c
# fix stuff trying to reimplement libc
culprits=`cat << EOF
accept4
acosl
alloca
alphasort
asinl
asprintf
atanl
atexit
atoll
bcopy
btowc
chown
closedir
cosl
dirfd
dprintf
dup2
dup3
_Exit
expl
fchdir
fchown-stub
fdatasync
fdopendir
ffs
flock
fnmatch
forkpty
fpending
fprintf
freeaddrinfo
fsync
ftell
ftruncate
futimens
gai_strerror
getaddrinfo
getdelim
getdtablesize
getgroups
gethostname
getline
getlogin
getlogin_r
getnameinfo
getpagesize
getpass
getsubopt
gettimeofday
getusershell
gmtime_r
grantpt
imaxabs
imaxdiv
inet_ntop
inet_pton
isblank
iswblank
lchmod
lchown
ldexp
ldexpl
link
linkat
logl
mbrlen
mbrtowc
mbsinit
memmove
mempcpy
mkdtemp
mkfifo
mkfifoat
mknod
mknodat
mkstemp
mktime
nanosleep
nl_langinfo
open
openat
opendir
openpty
pclose
perror
pipe
pipe2
poll
popen
pread
pselect
ptsname
pwrite
raise
readdir
readlink
renameat
rewinddir
setenv
sigaction
sigaddset
sigdelset
sigemptyset
sigfillset
sigismember
sigpending
sigprocmask
sinl
snprintf
spawnattr_destroy
spawnattr_getdefault
spawnattr_getflags
spawnattr_getpgroup
spawnattr_getsigmask
spawnattr_init
spawnattr_setdefault.c
spawnattr_setflags
spawnattr_setpgroup
spawnattr_setsigmask
spawn_faction_addclose
spawn_faction_adddup2
spawn_faction_addopen
spawn_faction_destroy
spawn_faction_init
spawn_factions_addopen
spawn_factions_destroy
spawn_factions_init
sprintf
sqrtl
stdio-read
stdio-write
strcasecmp
strcasestr
strchrnul
strcspn
strncasecmp
strndup
strnlen
strpbrk
strsep
strsignal
strstr
strtod
strtoimax
strtol
symlink
symlinkat
tanl
tcgetsid
timegm
time_r
times
tmpfile
uname
unlockpt
unsetenv
usleep
vasprintf
vdprintf
waitpid
wcrtomb
wctob
EOF
`
#fixme check fsusage
flags="-Drpl_tzset=tzset -Drpl_localtime=localtime -Dgnu_fnmatch=fnmatch \
-Dposix_fnmatch=fnmatch -Drpl_gmtime=gmtime"
for i in $culprits ; do
empty_file "$dir"/$i.c
flags="$flags -Drpl_$i=$i"
done
printf "%s\n" "$flags"