[PATCH] uml: check for differences in host support

If running on a host not supporting TLS (for instance 2.4) we should report
that cleanly to the user, instead of printing not comprehensible "error 5" for
that.

Additionally, i386 and x86_64 support different ranges for
user_desc->entry_number, and we must account for that; we couldn't pass
ourselves -1 because we need to override previously existing TLS descriptors
which glibc has possibly set, so test at startup the range to use.

x86 and x86_64 existing ranges are hardcoded.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Paolo 'Blaisorblade' Giarrusso 2006-03-31 02:30:25 -08:00 committed by Linus Torvalds
parent 54d8d3b5a0
commit 3feb88562d
8 changed files with 102 additions and 6 deletions

View file

@ -48,8 +48,8 @@ int os_get_thread_area(user_desc_t *info, int pid)
#ifdef UML_CONFIG_MODE_TT
#include "linux/unistd.h"
_syscall1(int, get_thread_area, user_desc_t *, u_info);
_syscall1(int, set_thread_area, user_desc_t *, u_info);
static _syscall1(int, get_thread_area, user_desc_t *, u_info);
static _syscall1(int, set_thread_area, user_desc_t *, u_info);
int do_set_thread_area_tt(user_desc_t *info)
{