Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Aug 2006 08:27:10 +0200
From:      Joerg Schilling <schilling@fokus.fraunhofer.de>
To:        cvs-ports@freebsd.org, marius@freebsd.org
Subject:   Re: cvs commit: ports/sysutils/cdrdao/files
Message-ID:  <200608280627.k7S6RBh1019446@burner.fokus.fraunhofer.de>

next in thread | raw e-mail | index | archive | help
>Fix build on 7.0-CURRENT sparc64 by ignoring the result of executing
>avoffset. What happens is that on sparc64 when avoffset is compiled
>with optimizations, it dumps core due to a SIGILL instead of failing
>gracefully. If this happens during the build of a Schily tool like
>cdrtools etc, it doesn't cause any further problems as all build
>errors are ignored in the Schily build system. When built as part of
>cdrdao, build errors in the Schily libs are reported upwards though,
>albeit with an illegal exit status of -1, which was ignored until a
>change in sh(1) earlier this year.

I am not shure about the background of this patch, but it seems that you have a 
major missconception of the Schily Makefile system.....

1)
The Schily Makefile system does not ignore the exist status except when
you are using a broken make program (e.g. smake-1.2a23 that calls 
"sh -c command...." instead of "sh -ce command....") or a shell that 
incorrectly handles the -e flag. It seems that there sre still peple who do not
understand the POSIX shell rules correctly.

2)
If avoffset dumps core, you found a serious problem that needs to be fixed.
The expected error situations for avoffset (when stack scanning is not possible
on a specific platform) is to receive a SIGBUS or a SIGDEV. There is a handler 
that catches these signals and calls exit(0). If you see a SIGILL, then you 
should check your compiler....or find another reason why an illegal instruction 
gets executed while the code only follows a linked list.

Using the Sun C-compiler, I receive a SIGBUS (with address allignement error)
on Sparc using 64 bits.


In any case: note that cdrdao does not seem to be well maintained and still uses
more than 2 year old code. And it seems that someone did try to add partial 
workarounds for a broken shell that seems to ignore the -e flag.

Jörg

-- 
 EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js@cs.tu-berlin.de                (uni)  
       schilling@fokus.fraunhofer.de     (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608280627.k7S6RBh1019446>