Jeremy Fitzhardinge d4f7a2c18e [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO
Some versions of libc can't deal with a VDSO which doesn't have its
ELF headers matching its mapped address.  COMPAT_VDSO maps the VDSO at
a specific system-wide fixed address.  Previously this was all done at
build time, on the grounds that the fixed VDSO address is always at
the top of the address space.  However, a hypervisor may reserve some
of that address space, pushing the fixmap address down.

This patch does the adjustment dynamically at runtime, depending on
the runtime location of the VDSO fixmap.

[ Patch has been through several hands: Jan Beulich wrote the orignal
  version; Zach reworked it, and Jeremy converted it to relocate phdrs
  as well as sections. ]

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Zachary Amsden <zach@vmware.com>
Cc: "Jan Beulich" <JBeulich@novell.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roland McGrath <roland@redhat.com>
2007-05-02 19:27:12 +02:00
..
2007-02-20 17:10:15 -08:00
2007-01-30 08:26:45 -08:00
2007-02-20 17:10:14 -08:00
2007-04-27 10:57:31 -07:00
2007-04-27 10:57:34 -07:00
2007-02-09 17:39:36 -05:00
2007-02-11 11:18:07 -08:00
2007-02-01 16:17:06 -08:00
2007-03-27 09:05:15 -07:00
2007-04-28 11:01:07 -04:00
2007-04-19 14:56:12 +02:00
2007-01-08 19:49:54 +00:00
2007-04-07 10:03:43 -07:00
2007-02-13 22:09:01 +01:00
2007-04-25 22:30:01 -07:00
2007-04-25 22:29:10 -07:00
2007-04-25 22:24:41 -07:00
2007-04-25 22:29:10 -07:00
2007-03-01 14:53:38 -08:00
2007-04-25 22:25:52 -07:00
2007-04-30 16:40:39 -07:00
2007-04-30 16:40:40 -07:00
2007-02-16 14:37:06 +00:00
2007-04-25 22:29:49 -07:00
2007-03-04 11:12:42 +02:00
2007-02-17 19:17:37 +01:00
2007-03-01 14:53:35 -08:00
2007-03-12 16:31:50 -07:00
2007-01-23 00:34:54 -05:00
2007-03-16 19:25:05 -07:00
2007-02-09 08:06:14 -08:00
2007-03-12 16:31:50 -07:00
2007-04-28 14:15:58 -04:00
2007-03-27 08:55:47 +02:00
2007-04-17 16:36:26 -07:00
2007-04-30 16:40:41 -07:00
2007-02-11 10:51:28 -08:00
2007-01-11 18:18:21 -08:00
2007-02-11 10:51:28 -08:00
2006-12-22 08:55:49 -08:00
2007-04-27 10:46:51 -07:00
2007-02-20 17:10:14 -08:00
2007-02-20 17:10:14 -08:00
2007-02-12 09:48:41 -08:00
2007-02-11 10:51:18 -08:00
2007-02-20 17:10:13 -08:00
2007-02-07 14:03:19 +11:00
2007-02-16 08:13:57 -08:00
2007-02-16 08:13:56 -08:00
2007-03-05 07:57:51 -08:00
2007-02-11 10:51:25 -08:00
2007-02-11 11:18:05 -08:00
2007-04-28 21:20:32 -07:00