erlang/erlang.patch

Tue, 02 Jul 2013 18:20:50 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 02 Jul 2013 18:20:50 +0200
changeset 781
25504c2d46b1
parent 780
0a61f30eebd4
permissions
-rw-r--r--

Update to new vendor version and patch according to pcre problems.

michael@780 1 Index: erts/emulator/hipe/hipe_x86.c
michael@780 2 --- erts/emulator/hipe/hipe_x86.c.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 3 +++ erts/emulator/hipe/hipe_x86.c 2010-12-09 17:23:16.000000000 +0100
michael@780 4 @@ -130,7 +130,7 @@
michael@780 5 abort();
michael@780 6 map_start = mmap(map_hint, map_bytes,
michael@780 7 PROT_EXEC|PROT_READ|PROT_WRITE,
michael@780 8 - MAP_PRIVATE|MAP_ANONYMOUS
michael@780 9 + MAP_PRIVATE|MAP_ANON
michael@780 10 #ifdef __x86_64__
michael@780 11 |MAP_32BIT
michael@780 12 #endif
michael@780 13 Index: lib/erl_interface/src/connect/ei_resolve.c
michael@780 14 --- lib/erl_interface/src/connect/ei_resolve.c.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 15 +++ lib/erl_interface/src/connect/ei_resolve.c 2010-12-09 17:23:16.000000000 +0100
michael@780 16 @@ -54,6 +54,10 @@
michael@780 17 #include "ei_resolve.h"
michael@780 18 #include "ei_locking.h"
michael@780 19
michael@780 20 +#if defined(HAVE_GETHOSTBYNAME_R) && defined(__FreeBSD__)
michael@780 21 +#undef HAVE_GETHOSTBYNAME_R
michael@780 22 +#endif
michael@780 23 +
michael@780 24 #ifdef HAVE_GETHOSTBYNAME_R
michael@780 25
michael@780 26 void ei_init_resolve(void)
michael@780 27 Index: lib/gs/src/tool_utils.erl
michael@780 28 --- lib/gs/src/tool_utils.erl.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 29 +++ lib/gs/src/tool_utils.erl 2010-12-09 17:23:16.000000000 +0100
michael@781 30 @@ -45,6 +45,9 @@
michael@780 31 }).
michael@780 32
michael@780 33
michael@780 34 +%% Browser executable list (openURL command line protocol required)
michael@780 35 +-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera", "firefox", "seamonkey"]).
michael@780 36 +
michael@780 37 %%----------------------------------------------------------------------
michael@780 38 %% open_help(Parent, File)
michael@780 39 %% Parent = gsobj() (GS root object or parent window)
michael@781 40 @@ -85,7 +88,7 @@
michael@780 41 {unix,Type} ->
michael@780 42 case Type of
michael@780 43 darwin -> "open " ++ File;
michael@780 44 - _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
michael@780 45 + _Else -> unix_url_command("file:" ++ File)
michael@780 46 end;
michael@780 47 {win32,_AnyType} ->
michael@780 48 "start " ++ filename:nativename(File);
michael@781 49 @@ -100,7 +103,7 @@
michael@780 50 {unix,Type} ->
michael@780 51 case Type of
michael@780 52 darwin -> "open " ++ File;
michael@780 53 - _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
michael@780 54 + _Else -> unix_url_command("file:" ++ File)
michael@780 55 end;
michael@780 56 {win32,_AnyType} ->
michael@781 57 "netscape.exe -h " ++
michael@781 58 @@ -435,3 +438,53 @@
michael@780 59 [Last];
michael@780 60 insert_newlines(Other) ->
michael@780 61 Other.
michael@780 62 +
michael@780 63 +%% find_browser(BrowserList) => string() | false
michael@780 64 +%% BrowserList - [string()]
michael@780 65 +%% Given a list of basenames, find the first available executable.
michael@780 66 +
michael@780 67 +find_browser([]) ->
michael@780 68 + false;
michael@780 69 +
michael@780 70 +find_browser([H | T]) ->
michael@780 71 + case os:find_executable(H) of
michael@780 72 + false ->
michael@780 73 + find_browser(T);
michael@780 74 + Browser ->
michael@780 75 + Browser
michael@780 76 + end.
michael@780 77 +
michael@780 78 +%% unix_url_command(URL) => string()
michael@780 79 +%% URL - string()
michael@780 80 +%% Open an URL, using a browser which supports the openURL command
michael@780 81 +%% line protocol. If no browser is found, the empty string will be
michael@780 82 +%% returned.
michael@780 83 +
michael@780 84 +unix_url_command(URL) ->
michael@780 85 + Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
michael@780 86 +
michael@780 87 + case os:getenv("BROWSER") of
michael@780 88 + false ->
michael@780 89 + %% look for a compatible browser
michael@780 90 + case find_browser(?BROWSERS) of
michael@780 91 + false ->
michael@780 92 + "";
michael@780 93 + Browser ->
michael@780 94 + case regexp:gsub(Template, "BROWSER", Browser) of
michael@780 95 + {ok, Command, 0} ->
michael@780 96 + %% Template does not contain "BROWSER" placeholder
michael@780 97 + "";
michael@780 98 + {ok, Command, _} ->
michael@780 99 + Command
michael@780 100 + end
michael@780 101 + end;
michael@780 102 +
michael@780 103 + Value ->
michael@780 104 + case regexp:gsub(Template, "BROWSER", Value) of
michael@780 105 + {ok, Command2, 0} ->
michael@780 106 + %% no placeholder
michael@780 107 + "";
michael@780 108 + {ok, Command2, _} ->
michael@780 109 + Command2
michael@780 110 + end
michael@780 111 + end.
michael@780 112 Index: lib/hipe/regalloc/Makefile
michael@780 113 --- lib/hipe/regalloc/Makefile.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 114 +++ lib/hipe/regalloc/Makefile 2010-12-09 17:23:16.000000000 +0100
michael@780 115 @@ -46,7 +46,6 @@
michael@780 116 hipe_node_sets hipe_spillcost hipe_reg_worklists \
michael@780 117 hipe_adj_list \
michael@780 118 hipe_temp_map \
michael@780 119 - hipe_optimistic_regalloc \
michael@780 120 hipe_coalescing_regalloc \
michael@780 121 hipe_graph_coloring_regalloc \
michael@780 122 hipe_regalloc_loop \
michael@780 123 Index: lib/stdlib/src/calendar.erl
michael@780 124 --- lib/stdlib/src/calendar.erl.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 125 +++ lib/stdlib/src/calendar.erl 2010-12-09 17:23:16.000000000 +0100
michael@781 126 @@ -279,11 +279,19 @@
michael@781 127 DateTime1 :: datetime1970(),
michael@781 128 DateTime :: datetime1970().
michael@780 129 local_time_to_universal_time_dst(DateTime) ->
michael@780 130 - UtDst = erlang:localtime_to_universaltime(DateTime, true),
michael@780 131 - Ut = erlang:localtime_to_universaltime(DateTime, false),
michael@780 132 %% Reverse check the universal times
michael@780 133 - LtDst = erlang:universaltime_to_localtime(UtDst),
michael@780 134 - Lt = erlang:universaltime_to_localtime(Ut),
michael@780 135 + {UtDst, LtDst} =
michael@780 136 + try
michael@780 137 + UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
michael@780 138 + {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
michael@780 139 + catch error:badarg -> {error, error}
michael@780 140 + end,
michael@780 141 + {Ut, Lt} =
michael@780 142 + try
michael@780 143 + Ut0 = erlang:localtime_to_universaltime(DateTime, false),
michael@780 144 + {Ut0, erlang:universaltime_to_localtime(Ut0)}
michael@780 145 + catch error:badarg -> {error, error}
michael@780 146 + end,
michael@780 147 %% Return the valid universal times
michael@780 148 case {LtDst,Lt} of
michael@780 149 {DateTime,DateTime} when UtDst =/= Ut ->
michael@780 150 Index: lib/wx/configure
michael@780 151 --- lib/wx/configure.orig 2010-12-07 16:07:22.000000000 +0100
michael@780 152 +++ lib/wx/configure 2010-12-09 17:23:16.000000000 +0100
michael@781 153 @@ -4065,7 +4065,7 @@
michael@780 154 ;;
michael@780 155 *)
michael@780 156 DEBUG_CFLAGS="-g -Wall -fPIC -DDEBUG $CFLAGS"
michael@780 157 - CFLAGS="-g -Wall -O2 -fPIC -fomit-frame-pointer -fno-strict-aliasing $CFLAGS"
michael@780 158 + CFLAGS="-Wall -fPIC -fomit-frame-pointer -fno-strict-aliasing $CFLAGS %%CFLAGS%%"
michael@780 159 ;;
michael@780 160 esac

mercurial