summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-05-02 02:21:25 +0000
committerRoland McGrath <roland@gnu.org>2003-05-02 02:21:25 +0000
commit362f5ae2c1641904ccf489742a4a3440e7e10814 (patch)
tree5055748720cc653356f2c301d550465cbc1a4de8 /sysdeps/unix
parentd73f5331ce5370ca5a879229e3842f5de98689cd (diff)
downloadglibc-362f5ae2c1641904ccf489742a4a3440e7e10814.tar.gz
glibc-362f5ae2c1641904ccf489742a4a3440e7e10814.tar.xz
glibc-362f5ae2c1641904ccf489742a4a3440e7e10814.zip
* sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__].
	* sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise.

	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
	Use $(make-target-directory).
	* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise.

	* Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d.
	(compile-command.S): Don't use ifndef.  Append $(compile-mkdep-flags).
	(compile-command.s, compile-command.c): Likewise.
	($(objpfx)%.d): All such pattern rules removed.
	($(+sysdir_pfx)sysd-rules): Don't generate them.
	($(common-objpfx)dummy.d): Target removed.
	(make-dummy-dep): Variable removed.
	(generate-md5): Likewise.
	(%.d: %.dt): New pattern rule.
	(+depfiles): Use $(wildcard) function to get just existing *.d files
	and .d files for existing *.dt files.
	(common-clean): Remove all *.d and *.dt files.
	(before-compile): Add $(objpfx). when it doesn't exist,
	regardless of $(no_deps).
	* elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed.
	(rtld-depfiles): Use .os.d instead of .d names.
	Include existing *.d files and .d files for existing *.dt files.

	* Makerules ($(common-objpfx)%.make): Protect with [! subdir].
	Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable.

	* sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack.
	Do s-*.d includes only if we have some syscall routines in this subdir.

	* include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of
	@nobits.  The former is accepted by gas on any ELF platform.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/Makefile8
-rw-r--r--sysdeps/unix/sysv/linux/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/i386/bp-thunks.h7
3 files changed, 9 insertions, 7 deletions
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 12a46246d7..5b326e032c 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -293,6 +293,7 @@ ifdef unix-stub-syscalls
 sysdep_routines += stub-syscalls
 $(objpfx)stub-syscalls.c: $(common-objpfx)sysd-syscalls \
 			  $(..)sysdeps/unix/Makefile
+	$(make-target-directory)
 	(echo '#include <errno.h>'; \
 	 echo 'long int _no_syscall (void)'; \
 	 echo '{ __set_errno (ENOSYS); return -1L; }'; \
@@ -338,10 +339,10 @@ endif
 # The syscall objects depend on s-proto.d or s-proto-cancel.d, which
 # are generated to specify dependencies generated syscalls have on
 # headers.
-ifdef subdir
-ifndef no_deps
 # These deps use file names relative to a subdir, so don't
 # include them in the parent directory.
+ifneq (,$(filter $(unix-syscalls),$(routines) $(sysdep_routines) $(aux)))
+ifndef no_deps
 -include $(common-objpfx)s-proto.d
 -include $(common-objpfx)s-proto-bp.d
 -include $(common-objpfx)s-proto-cancel.d
@@ -350,8 +351,7 @@ endif
 
 $(common-objpfx)s-%.d: $(..)sysdeps/unix/s-%.S \
 		       $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
-# Don't try to use compat.h in the db2 subdir
-	$(subst -include ./compat.h,,$(+make-deps))
+	$(+make-deps)
 
 common-generated += s-proto.d s-proto-bp.d s-proto-cancel.d
 postclean-generated += sysd-syscalls
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index dcffc97986..9df9d6a206 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -29,6 +29,7 @@ install-others += $(inst_includedir)/bits/syscall.h
 # For bi-arch platforms, the CPU/Makefile defines {32,64}bit-predefine and
 # we generate a file that uses <bits/wordsize.h>.
 $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h
+	$(make-target-directory)
 	rm -f $(@:.h=.d)-t
 	{ \
 	 echo '/* Generated at libc build time from kernel syscall list.  */';\
diff --git a/sysdeps/unix/sysv/linux/i386/bp-thunks.h b/sysdeps/unix/sysv/linux/i386/bp-thunks.h
index d46ea8f278..59a42ddefe 100644
--- a/sysdeps/unix/sysv/linux/i386/bp-thunks.h
+++ b/sysdeps/unix/sysv/linux/i386/bp-thunks.h
@@ -1,3 +1,4 @@
-#include <sysdeps/generic/bp-thunks.h>
-
-#include <sys/vm86.h>
+#ifndef __ASSEMBLER__
+# include <sysdeps/generic/bp-thunks.h>
+# include <sys/vm86.h>
+#endif