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/ProfHeap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'rts/ProfHeap.c') diff --git a/rts/ProfHeap.c b/rts/ProfHeap.c index cb6a13c897..4a7b6d38a8 100644 --- a/rts/ProfHeap.c +++ b/rts/ProfHeap.c @@ -23,6 +23,7 @@ #include "Trace.h" #include "sm/GCThread.h" +#include #include /* ----------------------------------------------------------------------------- @@ -340,7 +341,7 @@ void initProfiling (void) sprintf(hp_filename, "%s.hp", prog); /* open the log file */ - if ((hp_file = fopen(hp_filename, "w")) == NULL) { + if ((hp_file = __rts_fopen(hp_filename, "w")) == NULL) { debugBelch("Can't open profiling report file %s\n", hp_filename); RtsFlags.ProfFlags.doHeapProfile = 0; -- cgit v1.2.1