[GHC] #12624: Un-revert PosixSource.h cleanup
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- A few months ago we reverted a cleanup (cac3fb06f4b282eee21159c364c4d08e8fdedce9) to `PosixSource.h` due to apparent [[http://haskell.inf.elte.hu/builders/solaris- amd64-head/573/10.html|breakage]] on Solaris. We need to sort this out since the cleanup also apparently fixes things on AArch64. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * cc: kgardas (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * cc: angermann (removed) * cc: angerman (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by angerman): Potential build log with error message: http://haskell.inf.elte.hu/builders/solaris-amd64-head/573/10.html -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by angerman): Potentil notes wrt solaris: https://docs.oracle.com/cd/E53394_01/html/E54776/standards-5.html -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by angerman): As @kgardas provided via email: the core of the issue is this:
Oracle's Solaris 11 supports max:
#define _POSIX_C_SOURCE 200112L #define _XOPEN_SOURCE 600
how the feature_tests.h likely looks can be found at https://raw.githubusercontent.com/illumos/illumos- gate/7c478bd95313f5f23a4c958a745db2134aa03244/usr/src/uts/common/sys/feature_tests.h I'm wondering if we can get away without platform ifdefs :-/ -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by kgardas): I see only two solution -- *if* there is a really need to increase constants to XPG7. 1. platform related ifdefs, probably #ifdef solaris. or 2. abandon support for oracle solaris for HEAD and following releases. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): I am okay with a platform-specific `#ifdef` assuming that it is precise (affecting only Oracle Solaris) and we have a build bot to ensure it doesn't break. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): D2579 Wiki Page: | -------------------------------------+------------------------------------- Changes (by angerman): * differential: => D2579 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2579 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * differential: D2579 => Phab:D2579 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2579 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"8dc72f3c33b0e724ddb690c9d494969980c10afd/ghc" 8dc72f3c/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="8dc72f3c33b0e724ddb690c9d494969980c10afd" Cleanup PosixSource.h When trying to build arm64-apple-iso, the build fell over `strdup`, as the arm64-apple-ios build did not fall into `darwin_HOST_OS`, and would need `ios_HOST_OS`. This diff tries to clean up PosixSource.h, instead of layering another define on top. As we use `strnlen` in sources that include PosixSource.h, and `strnlen` is defined in POSIX.1-2008, the `_POSIX_C_SOURCE` and `_XOPEN_SOURCE` are increased accordingly. Furthermore the `_DARWIN_C_SOURCE` (required for `u_char`, etc. used in sysctl.h) define is moved into `OSThreads.h` alongside a similar ifdef for freebsd. Test Plan: Build on all supported platforms. Reviewers: austin, simonmar, erikd, kgardas, bgamari Reviewed By: simonmar, erikd, kgardas, bgamari Subscribers: Phyx, hvr, thomie Differential Revision: https://phabricator.haskell.org/D2579 GHC Trac Issues: #12624 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12624: Un-revert PosixSource.h cleanup -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2579 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12624#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC