summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-08-27 20:08:32 +0000
committerUlrich Drepper <drepper@redhat.com>1998-08-27 20:08:32 +0000
commitf787edde1dcd0f35feff9c8fd6384bd564558180 (patch)
tree82ebec99452b9faf41a02c7d1790e0c64d35c826 /linuxthreads
parent6075607b9abba5ae10b87a9913f2a26548021272 (diff)
downloadglibc-f787edde1dcd0f35feff9c8fd6384bd564558180.tar.gz
glibc-f787edde1dcd0f35feff9c8fd6384bd564558180.tar.xz
glibc-f787edde1dcd0f35feff9c8fd6384bd564558180.zip
Update.
1998-08-27 19:42  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (distribute): Add dl-origin.h.
	* sysdeps/generic/dl-origin.h: New file.
	* sysdeps/unix/sysv/linux/dl-origin.h: New file.
	* elf/link.h (struct link_map): Add l_origin field.
	* elf/dl-load.c (expand_dynamic_string_token): New function.
	(decompose_path): Remove WHERE argument, take link map pointer instead.
	Call expand_dynamic_string_token instead of local_strdup to make copy
	of rpath.
	(_dl_init_paths): Call decompose_path with correct argument.
	(_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is
	not defined.
	Check EI_OSABI and EI_ABIVERSION fields in header.
	(_dl_map_object): Call decompose_path with correct argument.
	Call expand_dynamic_string_token instead of local_strdup to also
	expand DST.
	* elf/dl-object.c (_dl_new_object): Determine l_origin for all maps
	but the main one.
	* elf/dl-support.c: Define _dl_origin_path.
	* elf/rtld.c: Likewise.  Set _dl_origin_path based on LD_ORIGIN_PATH.

	* elf/dl-close (_dl_close): Free l_name and l_origin.

	* sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P
	modifier in asm, not c.

	* sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c
	to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/sysdeps/i386/useldt.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/linuxthreads/sysdeps/i386/useldt.h b/linuxthreads/sysdeps/i386/useldt.h
index 2fdc0ce767..53cf522951 100644
--- a/linuxthreads/sysdeps/i386/useldt.h
+++ b/linuxthreads/sysdeps/i386/useldt.h
@@ -82,7 +82,7 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
 ({									      \
   __typeof__ (descr->member) __value;					      \
   if (sizeof (__value) == 1)						      \
-    __asm__ __volatile__ ("movb %%gs:%c1,%b0"				      \
+    __asm__ __volatile__ ("movb %%gs:%P1,%b0"				      \
 			  : "=r" (__value)				      \
 			  : "0" (0),					      \
 			    "i" (offsetof (struct _pthread_descr_struct,      \
@@ -93,7 +93,7 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
 	/* There should not be any value with a size other than 1 or 4.  */   \
 	abort ();							      \
 									      \
-      __asm__ __volatile__ ("movl %%gs:%c1,%0"				      \
+      __asm__ __volatile__ ("movl %%gs:%P1,%0"				      \
 			    : "=r" (__value)				      \
 			    : "i" (offsetof (struct _pthread_descr_struct,    \
 					     member)));			      \
@@ -106,7 +106,7 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
 ({									      \
   __typeof__ (descr->member) __value = (value);				      \
   if (sizeof (__value) == 1)						      \
-    __asm__ __volatile__ ("movb %0,%%gs:%c1" :				      \
+    __asm__ __volatile__ ("movb %0,%%gs:%P1" :				      \
 			  : "r" (__value),				      \
 			    "i" (offsetof (struct _pthread_descr_struct,      \
 					   member)));			      \
@@ -116,7 +116,7 @@ extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t);
 	/* There should not be any value with a size other than 1 or 4.  */   \
 	abort ();							      \
 									      \
-      __asm__ __volatile__ ("movl %0,%%gs:%c1" :			      \
+      __asm__ __volatile__ ("movl %0,%%gs:%P1" :			      \
 			    : "r" (__value),				      \
 			      "i" (offsetof (struct _pthread_descr_struct,    \
 					     member)));			      \