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]

unix-stub-syscalls


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

Attachment: pgp00000.pgp
Description: PGP signature


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