From: Raphael N. <rn...@we...> - 2010-10-16 11:10:12
Attachments:
parallel-build.patch
|
Dear fellow developers, dear Borut, I just tested mkdir ~/build cd ~/build ~/sdcc/configure --prefix=$HOME/sdcc-bla --disable-pic-port --disable-pic16-port && make -j4 -s on an AMD64 x2 dual core under WinXP using svn r6030 and came across some strange "permission denied" errors on build/large/libfloat.lib et al. that I tracked down to the rules $(LIBFILES): [...] in device/lib/Makefile: These rules are invoked for all (four) libraries (float, int, long, sdcc), though each invocation creates all (four) lib*.lib files. In a parallel make, this might lead to race conditions, with multiple make's trying to write to the files. On Linux, this seems to be no problem, on cygwin, this errors out. The attached patch fixes this problem by splitting the rules to only create a single .lib file each. Waiting for your (dis-)approval (or commit). Best regards Raphael |
From: Philipp K. K. <pk...@sp...> - 2010-10-16 13:47:41
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 16.10.2010 13:09, schrieb Raphael Neider: > in device/lib/Makefile: These rules are invoked for all (four) libraries > (float, int, long, sdcc), though each invocation creates all (four) > lib*.lib files. In a parallel make, this might lead to race conditions, > with multiple make's trying to write to the files. On Linux, this seems > to be no problem, on cygwin, this errors out. I can reproduce this problem on Debian GNU/Linux running on an Intel Core 2 Duo using make -j 8. IMO this should be fixed before the release. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAky5rPMACgkQbtUV+xsoLpq6BACfRvY/2jN7gerYu7OAgIv6Dp9m FWgAoJMid50Kpj6YdVl7MTWbrmE0nV5R =Rgf0 -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2010-10-16 18:55:11
|
Raphael, please commit the patch. Borut On 10/16/2010 01:09 PM, Raphael Neider wrote: > Dear fellow developers, > dear Borut, > > I just tested > > mkdir ~/build > cd ~/build > ~/sdcc/configure --prefix=$HOME/sdcc-bla --disable-pic-port > --disable-pic16-port && make -j4 -s > > on an AMD64 x2 dual core under WinXP using svn r6030 and came across > some strange "permission denied" errors on build/large/libfloat.lib et > al. that I tracked down to the rules > > $(LIBFILES): [...] > > in device/lib/Makefile: These rules are invoked for all (four) > libraries (float, int, long, sdcc), though each invocation creates all > (four) lib*.lib files. In a parallel make, this might lead to race > conditions, with multiple make's trying to write to the files. On > Linux, this seems to be no problem, on cygwin, this errors out. > > The attached patch fixes this problem by splitting the rules to only > create a single .lib file each. > > Waiting for your (dis-)approval (or commit). > > > Best regards > > Raphael > > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > > > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Borut R. <bor...@si...> - 2010-10-16 19:31:31
|
Raphael, similar patch should be applied also to device/non-free/lib/Makefile.in, although the targets are (currently) not used. Borut On 10/16/2010 08:54 PM, Borut Razem wrote: > Raphael, > > please commit the patch. > > Borut > > > On 10/16/2010 01:09 PM, Raphael Neider wrote: >> Dear fellow developers, >> dear Borut, >> >> I just tested >> >> mkdir ~/build >> cd ~/build >> ~/sdcc/configure --prefix=$HOME/sdcc-bla --disable-pic-port >> --disable-pic16-port && make -j4 -s >> >> on an AMD64 x2 dual core under WinXP using svn r6030 and came across >> some strange "permission denied" errors on build/large/libfloat.lib >> et al. that I tracked down to the rules >> >> $(LIBFILES): [...] >> >> in device/lib/Makefile: These rules are invoked for all (four) >> libraries (float, int, long, sdcc), though each invocation creates >> all (four) lib*.lib files. In a parallel make, this might lead to >> race conditions, with multiple make's trying to write to the files. >> On Linux, this seems to be no problem, on cygwin, this errors out. >> >> The attached patch fixes this problem by splitting the rules to only >> create a single .lib file each. >> >> Waiting for your (dis-)approval (or commit). >> >> >> Best regards >> >> Raphael >> >> >> ------------------------------------------------------------------------------ >> Download new Adobe(R) Flash(R) Builder(TM) 4 >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >> Flex(R) Builder(TM)) enable the development of rich applications that run >> across multiple browsers and platforms. Download your free trials today! >> http://p.sf.net/sfu/adobe-dev2dev >> >> >> _______________________________________________ >> sdcc-devel mailing list >> sdc...@li... >> https://lists.sourceforge.net/lists/listinfo/sdcc-devel >> > |
From: Raphael N. <rn...@we...> - 2010-10-16 20:26:44
|
Hi, > similar patch should be applied also to device/non-free/lib/Makefile.in, > although the targets are (currently) not used. I have updated both Makefiles in r6031. Thanks for the pointer. Raphael |