Bug 226661

Summary: lang/smlnj: Use current SIGFPE signal codes
Product: Ports & Packages Reporter: John Baldwin <jhb>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Only Me CC: joemann
Priority: --- Flags: joemann: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 226579    
Attachments:
Description Flags
sigfpe.patch none

Description John Baldwin freebsd_committer freebsd_triage 2018-03-16 18:51:49 UTC
Created attachment 191557 [details]
sigfpe.patch

I have a pending patch for src/ that removes deprecated signal code values (first deprecated in 1999).  FreeBSD adopted standard siginfo codes consistent with POSIX starting in 7.0 release.  The src change can be found here:

https://reviews.freebsd.org/D14637

During an exa-run, smlnj failed to build as it is still using the older constants.  The attached patch changes it to use the modern constants instead.  Both old and new constants have the same value, so this should not be a runtime change.
Comment 1 Johannes 5 2018-03-17 20:32:00 UTC
(In reply to John Baldwin from comment #0)
> sigfpe.patch
> I have a pending patch for src/ that removes deprecated signal code
> values (first deprecated in 1999). [...]
> The src change can be found here:
> https://reviews.freebsd.org/D14637

Thank you for noticing and fixing this issue with lang/smlnj.

> FreeBSD adopted standard siginfo codes consistent with POSIX starting
> in 7.0 release. [...]
> The attached patch changes it to use the modern
> constants instead. Both old and new constants have the same value, so
> this should not be a runtime change.

Then I can't see a reason, why this port should block the cleanup of
src any further. (The FPE_*_TRAP macros should be removed upstream as
well. Hopefully, I'll remember to report this after an update of the
port to 110.82. There's a patch for this update [1], but it's not tested
on i386, hence not yet submitted:-(

> During an exa-run, smlnj failed to build as it is still using the
> older constants. [...]

I assume, that your sigfpe.patch makes the port compile on -CURRENT,
right? I briefly checked it on 11.1-STABLE amd64, and it continues to
compile and work, as expected.

So I suggest that you commit your patch to lang/smlnj and unblock
226579. If there's anything else I should do, please let me know.

Thanx!
Johannes

[1] <ftp://offshore.free.de/pub/patch/smlnj.patch.20180105>
Comment 2 John Baldwin freebsd_committer freebsd_triage 2018-03-19 16:56:39 UTC
Thanks, you are correct that this is only needed for current once my src/ patch is committed.  I just wanted your review / approval before committing to your port.  If you could upstream the patch that is even better, thanks!
Comment 3 commit-hook freebsd_committer freebsd_triage 2018-03-19 17:33:52 UTC
A commit references this bug:

Author: jhb
Date: Mon Mar 19 17:33:04 UTC 2018
New revision: 465024
URL: https://svnweb.freebsd.org/changeset/ports/465024

Log:
  Use current signal code constants for SIGFPE rather than deprecated ones.

  PR:		226661
  Reviewed by:	joemann@beefree.free.de (maintainer)
  Approved by:	brooks

Changes:
  head/lang/smlnj/files/do-patch-base_runtime_mach-dep_signal-sysdep.h