From 4de585a5c1ac3edc2914cebcac1753b514051a89 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Thu, 29 Mar 2018 14:22:09 +0100 Subject: Remove MAX_PATH restrictions from RTS, I/O manager and various utilities Summary: This shims out fopen and sopen so that they use modern APIs under the hood along with namespaced paths. This lifts the MAX_PATH restrictions from Haskell programs and makes the new limit ~32k. There are only some slight caveats that have been documented. Some utilities have not been upgraded such as lndir, since all these things are different cabal packages I have been forced to copy the source in different places which is less than ideal. But it's the only way to keep sdist working. Test Plan: ./validate Reviewers: hvr, bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #10822 Differential Revision: https://phabricator.haskell.org/D4416 --- rts/fs_rts.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 rts/fs_rts.h (limited to 'rts/fs_rts.h') diff --git a/rts/fs_rts.h b/rts/fs_rts.h new file mode 100644 index 0000000000..12c27ccc8c --- /dev/null +++ b/rts/fs_rts.h @@ -0,0 +1,15 @@ +/* ----------------------------------------------------------------------------- + * + * (c) Tamar Christina 2018 + * + * Hack to get around linkewhole issues on linux. The FS utilities need to be in + * a different namespace to allow the linking. + * + * ---------------------------------------------------------------------------*/ + +#pragma once + +#undef FS_NAMESPACE +#define FS_NAMESPACE rts + +#include "fs.h" -- cgit v1.2.1