diff options
Diffstat (limited to 'src/cmd/ld/lib.c')
-rw-r--r-- | src/cmd/ld/lib.c | 7 |
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); |