Index: src/cmd/ld/lib.c |
=================================================================== |
--- a/src/cmd/ld/lib.c |
+++ b/src/cmd/ld/lib.c |
@@ -104,6 +104,13 @@ |
sprint(INITENTRY, "_rt0_%s_%s", goarch, goos); |
} |
lookup(INITENTRY, 0)->type = SXREF; |
+ if(flag_shared) { |
+ if(LIBINITENTRY == nil) { |
+ LIBINITENTRY = mal(strlen(goarch)+strlen(goos)+20); |
+ sprint(LIBINITENTRY, "_rt0_%s_%s_lib", goarch, goos); |
+ } |
+ lookup(LIBINITENTRY, 0)->type = SXREF; |
+ } |
} |
void |
@@ -305,7 +312,7 @@ |
// |
// Exception: on OS X, programs such as Shark only work with dynamic |
// binaries, so leave it enabled on OS X (Mach-O) binaries. |
- if(!havedynamic && HEADTYPE != Hdarwin) |
+ if(!flag_shared && !havedynamic && HEADTYPE != Hdarwin) |
debug['d'] = 1; |
importcycles(); |