unix-stub-syscalls

Thomas Schwinge thomas@codesourcery.com
Mon Jun 11 09:48:00 GMT 2012


Hi!

I think I found a bug in sysdeps/unix/Makefile:$(objpfx)stub-syscalls.c,
present since Roland's addition of that mechanism in 2003,
d8e94af60b56d86bdb59acc93d8396fb4e3ce770:

    [...]
    	 for call in $(unix-stub-syscalls); do \
    	   case $$call in \
    	   *@@*) ver=$${call##*@}; call=$${call%%*@}; \
    		 echo "strong_alias (_no_syscall, $${call}_$${ver})"; \
    		 echo "default_symbol_version \
    		         ($${call}_$${ver}, $$call, $$ver);" ;; \
    	   *@@*) ver=$${call##*@}; call=$${call%%*@}; \
    		 echo "strong_alias (_no_syscall, $${call}_$${ver})"; \
    		 echo "symbol_version ($${call}_$${ver}, $$call, $$ver);" ;; \
    	   *) echo "weak_alias (_no_syscall, $$call)"; \
    	      echo "stub_warning ($$call)"; \
    	      echo "weak_alias (_no_syscall, __GI_$$call)" ;; \
    	   esac; \
    [...]

>From three configurations that I looked at, sh-linux-gnu, i686-linux-gnu,
x86_64-linux-gnu, the first two do not execise this code at all, and the
latter one only has an unversioned bdflush.  Does someone have an
architecture/build where »grep ^unix-stub-syscalls.\*@ < sysd-syscalls«
has a match, or do we have to craft something, or can my fix be
confirmed/denied as-is?

	* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Fix case for
	non-default versions.

diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index c8ef96d..9e95b56 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -51,9 +51,9 @@ $(objpfx)stub-syscalls.c: $(common-objpfx)sysd-syscalls \
 		 echo "strong_alias (_no_syscall, $${call}_$${ver})"; \
 		 echo "default_symbol_version \
 		         ($${call}_$${ver}, $$call, $$ver);" ;; \
-	   *@@*) ver=$${call##*@}; call=$${call%%*@}; \
-		 echo "strong_alias (_no_syscall, $${call}_$${ver})"; \
-		 echo "symbol_version ($${call}_$${ver}, $$call, $$ver);" ;; \
+	   *@*) ver=$${call##*@}; call=$${call%%*@}; \
+		echo "strong_alias (_no_syscall, $${call}_$${ver})"; \
+		echo "symbol_version ($${call}_$${ver}, $$call, $$ver);" ;; \
 	   *) echo "weak_alias (_no_syscall, $$call)"; \
 	      echo "stub_warning ($$call)"; \
 	      echo "weak_alias (_no_syscall, __GI_$$call)" ;; \


Grüße,
 Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20120611/7c8f6593/attachment.sig>


More information about the Libc-alpha mailing list