|
From: <sv...@va...> - 2005-11-16 23:54:51
|
Author: njn
Date: 2005-11-16 23:54:46 +0000 (Wed, 16 Nov 2005)
New Revision: 5156
Log:
record more email comments
Modified:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_main.c 2005-11-16 20:22:11 UTC (rev 5155)
+++ trunk/coregrind/m_main.c 2005-11-16 23:54:46 UTC (rev 5156)
@@ -658,7 +658,10 @@
vg_assert(ok);
=20
/* We make the data segment (heap) executable because LinuxThreads on
- ppc32 creates trampolines in this area. */
+ ppc32 creates trampolines in this area. Also, on x86/Linux the da=
ta
+ segment is RWX natively, at least according to /proc/self/maps.
+ Also, having a non-executable data seg would kill any program whic=
h
+ tried to create code in the data seg and then run it. */
sres =3D VG_(am_mmap_anon_fixed_client)(=20
anon_start,=20
anon_size,=20
|
|
From: Tom H. <to...@co...> - 2005-11-17 00:25:15
|
In message <200...@ja...>
sv...@va... wrote:
> /* We make the data segment (heap) executable because LinuxThreads on
> - ppc32 creates trampolines in this area. */
> + ppc32 creates trampolines in this area. Also, on x86/Linux the data
> + segment is RWX natively, at least according to /proc/self/maps.
> + Also, having a non-executable data seg would kill any program which
> + tried to create code in the data seg and then run it. */
Not on my x86 boxes it isn't:
dunsmere [~] % cat /proc/self/maps
...
0820c000-0822d000 rw-p 0820c000 00:00 0 [heap]
Don't forget that you can't generally trust X bit reports on x86
systems anyway.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|