make gcc wrapper rewrite link options rather than just extending them
[musl] / tools / musl-gcc.specs.sh
index 30b2676..5f6504e 100644 (file)
@@ -17,15 +17,13 @@ cat <<EOF
 libgcc.a%s %:if-exists(libgcc_eh.a%s)
 
 *startfile:
 libgcc.a%s %:if-exists(libgcc_eh.a%s)
 
 *startfile:
-%{!shared: $libdir/crt1.o} $libdir/crti.o %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}
+%{!shared: $libdir/%{pie:S}crt1.o} $libdir/crti.o %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}
 
 *endfile:
 %{shared|pie:crtendS.o%s;:crtend.o%s} $libdir/crtn.o
 
 
 *endfile:
 %{shared|pie:crtendS.o%s;:crtend.o%s} $libdir/crtn.o
 
-%rename link old_link
-
 *link:
 *link:
-%(old_link) -dynamic-linker $ldso -nostdlib
+-dynamic-linker $ldso -nostdlib %{shared:-shared} %{static:-static} %{rdynamic:-export-dynamic}
 
 *esp_link:
 
 
 *esp_link: