NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: toolchain/37684: make dies if the dependecies of a target are too many and/or too long



The following reply was made to PR toolchain/37684; it has been noted by GNATS.

From: David Laight <david%l8s.co.uk@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: toolchain/37684: make dies if the dependecies of a target are too 
many and/or too long
Date: Thu, 3 Jan 2008 22:10:47 +0000

 On Thu, Jan 03, 2008 at 08:50:00PM +0000, gbr%voidland.org@localhost wrote:
 > >Number:         37684
 > >Category:       toolchain
 > >Synopsis:       make dies if the dependecies of a target are too many 
 > >and/or too long
 > >Description:
 > make dies with a segmentation fault if the dependencies of a target comprise 
 > a string which is longer than (approximately) 64 K (spaces, new lines and 
 > continuation backslashes included). This error did not exist in NetBSD 3.
 > 
 > 
 > >How-To-Repeat:
 > Create a makefile of the kind:
 > 
 > target: dep1 ... \
 >     ... \
 >     depn
 > 
 > which is bigger than 64 KB. The files target, dep1, ..., depn may not exist.
 
 make does use realloc() to extend the buffer it uses to hold a single
 source line.  The initial size is 32k, so the extension to 64k is ok (and
 I'd tested it), so something subtle must be going wrong whe it tries to
 extend it to 96k.
 
 make in netbsd 3 used a different scheme for reading makefile which
 dominated the file parsing time.
 
        David
 
 -- 
 David Laight: david%l8s.co.uk@localhost
 



Home | Main Index | Thread Index | Old Index