1) Upgrades from gcc 4.6.2 to gcc 4.6.3 2) Splits off Makefile.common fragment for use in other ports 3) Adds post-install warning that Ada tasking is broken for FreeBSD 9+ Regarding #3: Due to a new panic assertion added to the thread library, exiting tasks now abort with the message "thread exits with resources held!". A significant attempt was made to patch GNAT to release thread resources on exiting tasks, but the code is highly complex and the attempts are not yet successful. Things to note: A) gnat-aux continues to work on FreeBSD 6.x, 7.x, and 8.x. B) gnat-aux has always been broken on FreeBSD 9.x, but a testsuite run didn't reveal this until recently C) gnat-aux didn't change, FreeBSD did. It considers something a fatal error that was acceptable before and doesn't leave any method to degrade back to FreeBSD 8.x behavior other than rebuilding libpthread from source with _PTHREADS_INVARIANTS undefined. D) A new version of gnat-aux based on gcc 4.7 will be needed to convince Adacore to take this issue seriously as it affects all POSIX platforms. FreeBSD is the only one to detect the held resources. (Still, the decision on the part of FreeBSD developers to make this a fatal panic is questionable). Fix: Patch attached with submission follows: How-To-Repeat: Regarding the FreeBSD 9.0 failures, 23 tasking test failures can be seen by doing "make test" from lang/gnat-aux.
Responsible Changed From-To: freebsd-ports-bugs->culot I'll take it.
Hi John, thanks for this update and for your work on gnat-related ports. However, I came into trouble here when trying to apply the diff-fortran patch. Indeed, it seems it doesn't find the files to patch in the testsuite (large_real_kind*). When taking a closer look at the patch it tries to apply, it seems to me that it's related to {dragonfly,net}BSD, so I am not sure we need those here. A tinderbox error log could be found here: https://redports.org/~culot/20120407144819-41367-19024/gnat-aux-20120301.log Could you please check this issue and make sure that only FreeBSD-specific patches are included? Thanks again for your hard work! Cheers, Frederic
On 4/7/2012 17:44, Frederic Culot wrote: > Hi John, > > thanks for this update and for your work on gnat-related ports. > > However, I came into trouble here when trying to apply the diff-fortran > patch. Indeed, it seems it doesn't find the files to patch in the testsuite > (large_real_kind*). When taking a closer look at the patch it tries to apply, it > seems to me that it's related to {dragonfly,net}BSD, so I am not sure we need > those here. > > A tinderbox error log could be found here: > > https://redports.org/~culot/20120407144819-41367-19024/gnat-aux-20120301.log > > Could you please check this issue and make sure that only FreeBSD-specific > patches are included? > > Thanks again for your hard work! > > Cheers, > Frederic Well, I'm trying very hard not to have different versions here for configuration control reasons. The diff-* files are the same for all platforms by design. In this case, it seems like wrong diff file has the patches though. It should be diff-fortran-testsuite, not diff-fortran, that has these. The same upgrade has been on pkgsrc for weeks without a failure so this is curious. Let me compare versions because this is curious. I didn't see it during my testing because I always had at least one testsuite being requested... John
Hi Frederic, I compared the contents of files/ with the pkgsrc version and discovered the files/diff-fortran I provided is wrong. This file was the only difference. If you replace it with the version found below, it should work as expected: https://raw.github.com/jsonn/pkgsrc/trunk/lang/gnat-aux/files/diff-fortran Also, if you inspect files/diff-fortran-testsuite, you should see the large_real_kind patches there already. Regards, John
By the way, it may be that the pkgsrc diff-fortran is identical to the current lang/gnat-aux version, so replacing actually just restores it. So only diff-ada and diff-core would change between gcc 4.6.2 and 4.6.3. John
State Changed From-To: open->closed Committed. Thanks!
culot 2012-04-09 11:28:22 UTC FreeBSD ports repository Modified files: lang/gnat-aux Makefile distinfo lang/gnat-aux/files diff-ada diff-core Added files: lang/gnat-aux Makefile.common Log: - Update to 20120301 (corresponding to gcc 4.6.3) - Split off Makefile.common fragment for use in lang/gnatdroid-arm* ports Maintainer note: - Ada tasking is broken on FreeBSD-9+ and has always been but a testsuite run didn't reveal this until recently. Due to a new panic assertion added to the thread library, exiting tasks now abort with the message "thread exits with resources held!". A significant attempt was made to patch GNAT to release thread resources on exiting tasks, but the code is highly complex and the attemps are not yes successful. PR: ports/166718 Submitted by: John Marino <draco@marino.st> (maintainer) Feature safe: yes Revision Changes Path 1.8 +13 -19 ports/lang/gnat-aux/Makefile 1.1 +21 -0 ports/lang/gnat-aux/Makefile.common (new) 1.6 +12 -12 ports/lang/gnat-aux/distinfo 1.2 +7 -7 ports/lang/gnat-aux/files/diff-ada 1.2 +42 -15 ports/lang/gnat-aux/files/diff-core _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"