Gentoo Archives: gentoo-commits

From: "Alexandre Rostovtsev (tetromino)" <tetromino@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-libs/webkit-gtk/files: gir-paxctl-lt-wrapper webkit-gtk-1.6.3-paxctl-introspection.patch
Date: Sun, 04 Mar 2012 21:09:25
Message-Id: 20120304210916.045402004C@flycatcher.gentoo.org
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 \