1 |
tetromino 12/03/04 21:09:15 |
2 |
|
3 |
Added: gir-paxctl-lt-wrapper |
4 |
webkit-gtk-1.6.3-paxctl-introspection.patch |
5 |
Log: |
6 |
Fix build problems on PaX with USE="introspection jit" (bug #404215, thanks to Grant and Magnus Granberg) by having g-ir-scanner call a libtool wrapper that disables secure memory protection on generated gir dumper binaries. |
7 |
|
8 |
(Portage version: 2.2.0_alpha89/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.1 net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper?rev=1.1&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper?rev=1.1&content-type=text/plain |
15 |
|
16 |
Index: gir-paxctl-lt-wrapper |
17 |
=================================================================== |
18 |
#!/bin/sh |
19 |
# Wrapper for $(LIBTOOL) that performs PaX marking on the dumper binary |
20 |
# generated by g-ir-scanner. |
21 |
# PaX marking code stolen from pax-utils.eclass |
22 |
|
23 |
flags=$1; shift |
24 |
|
25 |
echo ${LIBTOOL} "$@" |
26 |
${LIBTOOL} "$@" |
27 |
|
28 |
retval=$? |
29 |
|
30 |
files=$(find . -path "*tmp-introspect*/.libs/*") |
31 |
|
32 |
if type -p paxctl > /dev/null; then |
33 |
echo "PT PaX marking -${flags} ${files}" |
34 |
for f in ${files}; do |
35 |
# First, try modifying the existing PAX_FLAGS header |
36 |
paxctl -q${flags} "${f}" && continue |
37 |
# Second, try stealing the (unused under PaX) PT_GNU_STACK header |
38 |
paxctl -qc${flags} "${f}" && continue |
39 |
# Third, try pulling the base down a page, to create space and |
40 |
# insert a PT_GNU_STACK header (works on ET_EXEC) |
41 |
paxctl -qC${flags} "${f}" && continue |
42 |
done |
43 |
elif type -p scanelf > /dev/null; then |
44 |
# Try scanelf, the Gentoo swiss-army knife ELF utility |
45 |
# Currently this sets PT if it can, no option to control what it does. |
46 |
echo "Fallback PaX marking -${flags} ${files}" |
47 |
scanelf -Xxz ${flags} ${files} |
48 |
fi |
49 |
|
50 |
exit ${retval} |
51 |
|
52 |
|
53 |
|
54 |
1.1 net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch |
55 |
|
56 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch?rev=1.1&view=markup |
57 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch?rev=1.1&content-type=text/plain |
58 |
|
59 |
Index: webkit-gtk-1.6.3-paxctl-introspection.patch |
60 |
=================================================================== |
61 |
diff -ru a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am |
62 |
--- a/Source/WebKit/gtk/GNUmakefile.am |
63 |
+++ b/Source/WebKit/gtk/GNUmakefile.am |
64 |
@@ -269,7 +269,7 @@ |
65 |
WEBKIT_GIRSOURCES += WebKit-@WEBKITGTK_API_VERSION@.gir |
66 |
|
67 |
$(WEBKIT_GIRSOURCES): $(G_IR_SCANNER) $(JSCORE_GIRSOURCES) libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la |
68 |
- $(AM_V_GEN)$(G_IR_SCANNER) -v --warn-all \ |
69 |
+ $(AM_V_GEN)LIBTOOL="$(LIBTOOL)" $(G_IR_SCANNER) -v --warn-all \ |
70 |
--symbol-prefix=webkit \ |
71 |
--identifier-prefix=WebKit \ |
72 |
--namespace=WebKit \ |
73 |
@@ -280,7 +280,7 @@ |
74 |
--include=Soup-2.4 \ |
75 |
--library=webkitgtk-@WEBKITGTK_API_VERSION@ \ |
76 |
--library=javascriptcoregtk-@WEBKITGTK_API_VERSION@ \ |
77 |
- --libtool="$(LIBTOOL)" \ |
78 |
+ --libtool="bash $(top_srcdir)/gir-paxctl-lt-wrapper m" \ |
79 |
--pkg=gobject-2.0 \ |
80 |
--pkg=gtk+-@GTK_API_VERSION@ \ |
81 |
--pkg=libsoup-2.4 \ |