mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-12 16:20:06 +00:00
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
instead of += to append, to be sure $(lib) gets expanded at defn time. (libof-$(cpp-src)): New variable, define this instead. * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup. (lib): Don't use override. (CPPFLAGS-$(lib)): New variable, put -D's here. * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename. Also add $(CPPFLAGS-LIB) before the file-specific flags, for each LIB found by $(libof-*) for basename, target, or source. * Makerules (CPPFLAGS-nonlib): New variable. * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk. * locale/Makefile (lib): Likewise. * sunrpc/Makefile (lib): Likewise. * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ... * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here. * sysdeps/unix/sysv/linux/pathconf.h: New file. (statfs_link_max): New function, guts from fpathconf.c. * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that. * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten to use the linux/pathconf.c code by #include rather than duplication. * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise. 2002-10-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno only for libc itself.
This commit is contained in:
parent
0d83b42e2d
commit
0a951d0e31
31
ChangeLog
31
ChangeLog
@ -1,3 +1,34 @@
|
|||||||
|
2002-10-16 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
|
||||||
|
instead of += to append, to be sure $(lib) gets expanded at defn time.
|
||||||
|
(libof-$(cpp-src)): New variable, define this instead.
|
||||||
|
* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
|
||||||
|
(lib): Don't use override.
|
||||||
|
(CPPFLAGS-$(lib)): New variable, put -D's here.
|
||||||
|
* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
|
||||||
|
Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
|
||||||
|
LIB found by $(libof-*) for basename, target, or source.
|
||||||
|
* Makerules (CPPFLAGS-nonlib): New variable.
|
||||||
|
* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
|
||||||
|
* locale/Makefile (lib): Likewise.
|
||||||
|
* sunrpc/Makefile (lib): Likewise.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
|
||||||
|
* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
|
||||||
|
* sysdeps/unix/sysv/linux/pathconf.h: New file.
|
||||||
|
(statfs_link_max): New function, guts from fpathconf.c.
|
||||||
|
* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
|
||||||
|
* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
|
||||||
|
to use the linux/pathconf.c code by #include rather than duplication.
|
||||||
|
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
|
||||||
|
|
||||||
|
2002-10-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
|
||||||
|
Use __libc_errno only for libc itself.
|
||||||
|
|
||||||
2002-10-16 Andreas Jaeger <aj@suse.de>
|
2002-10-16 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access.
|
* sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access.
|
||||||
|
@ -632,8 +632,10 @@ libio-include = -I$(..)libio
|
|||||||
# it causes cpp to stop predefining __ASSEMBLER__.
|
# it causes cpp to stop predefining __ASSEMBLER__.
|
||||||
CPPFLAGS = $($(subdir)-CPPFLAGS) $(+includes) $(defines) \
|
CPPFLAGS = $($(subdir)-CPPFLAGS) $(+includes) $(defines) \
|
||||||
-include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \
|
-include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \
|
||||||
$(CPPFLAGS-$(suffix $@)) $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) \
|
$(CPPFLAGS-$(suffix $@)) \
|
||||||
$(CPPFLAGS-$(patsubst %$(suffix $@),%,$(@F)))
|
$(foreach L,$(libof-$(basename $(@F))) $(libof-$<) $(libof-$(@F)),\
|
||||||
|
$(CPPFLAGS-$L)) \
|
||||||
|
$(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
||||||
override CFLAGS = -std=gnu99 \
|
override CFLAGS = -std=gnu99 \
|
||||||
$(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
|
$(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
|
||||||
$(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
|
$(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
|
||||||
|
@ -1057,9 +1057,12 @@ xcheck: xtests
|
|||||||
all-nonlib = $(strip $(tests) $(xtests) $(test-srcs) $(test-extras) $(others))
|
all-nonlib = $(strip $(tests) $(xtests) $(test-srcs) $(test-extras) $(others))
|
||||||
ifneq (,$(all-nonlib))
|
ifneq (,$(all-nonlib))
|
||||||
cpp-srcs-left = $(all-nonlib:=.c)
|
cpp-srcs-left = $(all-nonlib:=.c)
|
||||||
lib := tests
|
lib := nonlib
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$(all-nonlib))
|
include $(patsubst %,$(..)cppflags-iterator.mk,$(all-nonlib))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# The include magic above causes those files to use this variable for flags.
|
||||||
|
CPPFLAGS-nonlib = -DNOT_IN_libc=1
|
||||||
|
|
||||||
.PHONY: TAGS
|
.PHONY: TAGS
|
||||||
TAGS: $(objpfx)distinfo $(..)MakeTAGS
|
TAGS: $(objpfx)distinfo $(..)MakeTAGS
|
||||||
|
@ -4,4 +4,4 @@
|
|||||||
cpp-src := $(firstword $(cpp-srcs-left))
|
cpp-src := $(firstword $(cpp-srcs-left))
|
||||||
cpp-srcs-left := $(filter-out $(cpp-src),$(cpp-srcs-left))
|
cpp-srcs-left := $(filter-out $(cpp-src),$(cpp-srcs-left))
|
||||||
|
|
||||||
CPPFLAGS-$(cpp-src) += -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
|
libof-$(cpp-src) := $(lib)
|
||||||
|
16
extra-lib.mk
16
extra-lib.mk
@ -6,7 +6,7 @@
|
|||||||
# to be included in that library. A sysdep Makefile can add to
|
# to be included in that library. A sysdep Makefile can add to
|
||||||
# $(lib)-sysdep_routines to include additional modules.
|
# $(lib)-sysdep_routines to include additional modules.
|
||||||
|
|
||||||
override lib := $(firstword $(extra-libs-left))
|
lib := $(firstword $(extra-libs-left))
|
||||||
extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
|
extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
|
||||||
|
|
||||||
object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes))
|
object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes))
|
||||||
@ -79,12 +79,10 @@ endif
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cpp-srcs-left = $(lib)-routines
|
# This will define `libof-ROUTINE := LIB' for each of the routines.
|
||||||
ifneq (,$($(lib)-routines))
|
cpp-srcs-left := $($(lib)-routines) $($(lib)-sysdep_routines)
|
||||||
cpp-srcs-left = $($(lib)-routines)
|
ifneq (,$(cpp-srcs-left))
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$($(lib)-routines))
|
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
||||||
endif
|
|
||||||
ifneq (,$($(lib)-sysdep_routines))
|
|
||||||
cpp-srcs-left = $($(lib)-sysdep_routines)
|
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$($(lib)-sysdep_routines))
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
|
||||||
|
@ -104,7 +104,7 @@ CFLAGS-charmap-dir.c = -Wno-write-strings
|
|||||||
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
||||||
cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
|
cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
|
||||||
$(locale-modules) $(lib-modules))
|
$(locale-modules) $(lib-modules))
|
||||||
lib := locale_programs
|
lib := nonlib
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
||||||
|
|
||||||
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
|
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
|
||||||
|
@ -55,7 +55,7 @@ include ../Rules
|
|||||||
|
|
||||||
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
||||||
cpp-srcs-left := $(nscd-modules:=.c)
|
cpp-srcs-left := $(nscd-modules:=.c)
|
||||||
lib := nscd
|
lib := nonlib
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
||||||
|
|
||||||
$(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o)
|
$(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o)
|
||||||
|
@ -132,7 +132,7 @@ $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \
|
|||||||
|
|
||||||
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
# This makes sure -DNOT_IN_libc is passed for all these modules.
|
||||||
cpp-srcs-left := $(rpcgen-objs:.o=.c)
|
cpp-srcs-left := $(rpcgen-objs:.o=.c)
|
||||||
lib := rpcgen
|
lib := nonlib
|
||||||
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
||||||
|
|
||||||
# Tell rpcgen where to find the C preprocessor.
|
# Tell rpcgen where to find the C preprocessor.
|
||||||
|
@ -93,9 +93,14 @@
|
|||||||
orq $-1, %rax; \
|
orq $-1, %rax; \
|
||||||
jmp L(pseudo_end);
|
jmp L(pseudo_end);
|
||||||
#elif USE___THREAD
|
#elif USE___THREAD
|
||||||
|
# ifndef NOT_IN_libc
|
||||||
|
# define SYSCALL_ERROR_ERRNO __libc_errno
|
||||||
|
# else
|
||||||
|
# define SYSCALL_ERROR_ERRNO errno
|
||||||
|
# endif
|
||||||
# define SYSCALL_ERROR_HANDLER \
|
# define SYSCALL_ERROR_HANDLER \
|
||||||
0: \
|
0: \
|
||||||
movq __libc_errno@GOTTPOFF(%rip), %rcx; \
|
movq SYSCALL_ERROR_ERRNO@GOTTPOFF(%rip), %rcx;\
|
||||||
xorq %rdx, %rdx; \
|
xorq %rdx, %rdx; \
|
||||||
subq %rax, %rdx; \
|
subq %rax, %rdx; \
|
||||||
movl %edx, %fs:(%rcx); \
|
movl %edx, %fs:(%rcx); \
|
||||||
|
Loading…
Reference in New Issue
Block a user