projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
asm for hypot and hypotf
[musl]
/
tools
/
gen-musl-gcc.sh
diff --git
a/tools/gen-musl-gcc.sh
b/tools/gen-musl-gcc.sh
index
1ef0550
..
7b80fda
100644
(file)
--- a/
tools/gen-musl-gcc.sh
+++ b/
tools/gen-musl-gcc.sh
@@
-29,6
+29,7
@@
for i ; do
case "$skip$i" in
-I|-L) skip=--- ; continue ;;
-[cSE]|-M*) nolink=1 ;;
case "$skip$i" in
-I|-L) skip=--- ; continue ;;
-[cSE]|-M*) nolink=1 ;;
+-shared|-nostartfiles|-nostdlib) nocrt=1 ;;
-*) ;;
*) havefile=1 ;;
esac
-*) ;;
*) havefile=1 ;;
esac
@@
-37,17
+38,21
@@
done
[ "$havefile" ] || nolink=1
[ "$havefile" ] || nolink=1
+[ "$nolink" ] && nocrt=1
+
+[ "$nocrt" ] || set -- "$libc_start" "$libc_crt" "$@" "$libc_end" \
+
[ "$nolink" ] || {
tmp_specs=$HOME/.specs.tmp.$$
printf '*link_libgcc:\n\n\n' > "$tmp_specs" || exit 1
exec 3<"$tmp_specs"
rm -f "$tmp_specs"
[ "$nolink" ] || {
tmp_specs=$HOME/.specs.tmp.$$
printf '*link_libgcc:\n\n\n' > "$tmp_specs" || exit 1
exec 3<"$tmp_specs"
rm -f "$tmp_specs"
-set -- -specs=/proc/self/fd/3 "$
libc_start" "$libc_crt" "$@" "$libc_end
" \
- -Wl,--start-group -lc -lgcc -lgcc_eh -Wl,--end-group \
+set -- -specs=/proc/self/fd/3 "$
@
" \
+ -Wl,--
as-needed -Wl,--
start-group -lc -lgcc -lgcc_eh -Wl,--end-group \
-Wl,-dynamic-linker,"$ldso_pathname" -Wl,-nostdlib
}
-Wl,-dynamic-linker,"$ldso_pathname" -Wl,-nostdlib
}
-set -- -
std=gnu99 -
nostdinc -nostdlib $nosp \
+set -- -nostdinc -nostdlib $nosp \
-isystem "$libc_inc" -isystem "$gcc_inc" "$@" \
-L"$libc_lib" -L"$libgcc"
-isystem "$libc_inc" -isystem "$gcc_inc" "$@" \
-L"$libc_lib" -L"$libgcc"