This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix missing vm86 symbol


On 04/29/2012 03:20 PM, Andreas Schwab wrote:
	* sysdeps/unix/make-syscalls.sh: Don't put syscalls with a symbol
	alias with a default version only in the shared library.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Revert last change.

I agree with the reversion.


The rest looks fine to me. But first I'd like to see this tested on x86 and hear about the results,

Andreas

diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index a8b8a26..cce6ebf 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -128,6 +128,7 @@ while read file srcfile caller syscall args strong weak; do
    echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"

    case $weak in
+  *@@*) ;;
    *@*)
      # The versioned symbols are only in the shared library.
      echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
@@ -139,6 +140,11 @@ while read file srcfile caller syscall args strong weak; do

    # Emit a compilation rule for this syscall.
    case $weak in
+  *@@*)
+    echo "\
+\$(foreach p,\$(sysd-rules-targets),\
+\$(foreach o,\$(object-suffixes),\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
+    ;;
    *@*)
      # The versioned symbols are only in the shared library.
      echo "\
@@ -227,6 +233,7 @@ shared-only-routines += $file
  \$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"

    case $weak in
+  *@@*) ;;
    *@*)
      # The versioned symbols are only in the shared library.
      echo endif
diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list
index e3bcaba..149d432 100644
--- a/sysdeps/unix/sysv/linux/i386/syscalls.list
+++ b/sysdeps/unix/sysv/linux/i386/syscalls.list
@@ -2,7 +2,7 @@

  modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
  vm86old		EXTRA	vm86old		i:p	__vm86old	vm86@GLIBC_2.0
-vm86		-	vm86		i:ip	__vm86		vm86
+vm86		-	vm86		i:ip	__vm86		vm86@@GLIBC_2.3.4
  oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit@GLIBC_2.0
  oldsetrlimit	EXTRA	setrlimit	i:ip	__old_setrlimit	setrlimit@GLIBC_2.0
  waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid


--
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]