summaryrefslogtreecommitdiff
path: root/src/cmd/ld/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/ld/lib.c')
-rw-r--r--src/cmd/ld/lib.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/ld/lib.c b/src/cmd/ld/lib.c
index 208a55b44..99a76558d 100644
--- a/src/cmd/ld/lib.c
+++ b/src/cmd/ld/lib.c
@@ -153,9 +153,10 @@ addlib(char *src, char *obj)
for(i=0; i<libraryp; i++)
if(strcmp(name, library[i]) == 0)
return;
- if(libraryp == nelem(library)){
- diag("too many autolibs; skipping %s", name);
- return;
+ if(libraryp == nlibrary){
+ nlibrary = 50 + 2*libraryp;
+ library = realloc(library, sizeof library[0] * nlibrary);
+ libraryobj = realloc(libraryobj, sizeof libraryobj[0] * nlibrary);
}
p = mal(strlen(name) + 1);