* Makerules (distinfo-vars): Add sysdep_routines.

* mach/Machrules (include-%.defs): New canned sequence.
	Change all uses of `#include <$*.defs>' in cmds to use it.
	* mach/Makefile (mach_interface.defs): New variable, set to mach.defs.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
	null in all cases but R_386_COPY.
	(elf_machine_rel):

	* sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
	* sysdeps/unix/bsd/ultrix4/Dist: Removed.
	* sysdeps/unix/sysv/sysv4/Dist: Updated.
	* sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
	* sysdeps/unix/sysv/irix4/Dist: Updated.
	* sysdeps/unix/sysv/linux/i386/Dist: Removed.
	* sysdeps/unix/sysv/Dist: Updated.
	* sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
	* sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
	* sysdeps/gnu/Dist: New file.
	* sysdeps/alpha/Dist: Updated.
	* sysdeps/mach/hurd/Dist: Updated.

	* Make-dist [subdir-dirs]: Set a vpath for %.c.

	* Make-dist (README): Fix typo in cvs cmd.
This commit is contained in:
Roland McGrath 1996-06-05 19:07:37 +00:00
parent 198046e105
commit aa592a63f9
17 changed files with 57 additions and 26 deletions

View File

@ -1,5 +1,32 @@
Wed Jun 5 00:01:19 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> Wed Jun 5 00:01:19 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (distinfo-vars): Add sysdep_routines.
* mach/Machrules (include-%.defs): New canned sequence.
Change all uses of `#include <$*.defs>' in cmds to use it.
* mach/Makefile (mach_interface.defs): New variable, set to mach.defs.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
null in all cases but R_386_COPY.
(elf_machine_rel):
* sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
* sysdeps/unix/bsd/ultrix4/Dist: Removed.
* sysdeps/unix/sysv/sysv4/Dist: Updated.
* sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
* sysdeps/unix/sysv/irix4/Dist: Updated.
* sysdeps/unix/sysv/linux/i386/Dist: Removed.
* sysdeps/unix/sysv/Dist: Updated.
* sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
* sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
* sysdeps/gnu/Dist: New file.
* sysdeps/alpha/Dist: Updated.
* sysdeps/mach/hurd/Dist: Updated.
* Make-dist [subdir-dirs]: Set a vpath for %.c.
* Make-dist (README): Fix typo in cvs cmd.
* elf/dl-lookup.c (_dl_lookup_symbol): Fix typos in last change. * elf/dl-lookup.c (_dl_lookup_symbol): Fix typos in last change.
Comment out ref to nonexistent _dl_close. Comment out ref to nonexistent _dl_close.

View File

@ -75,6 +75,10 @@ foo:=$(shell echo 'stub/generic +sysdeps=$(+sysdeps)'>&2)
+sysdep-names := $(sort $(notdir $(+sysdeps))) +sysdep-names := $(sort $(notdir $(+sysdeps)))
foo:=$(shell echo '+sysdep-names=$(+sysdep-names)' >&2) foo:=$(shell echo '+sysdep-names=$(+sysdep-names)' >&2)
ifdef subdir-dirs
vpath %.c $(addprefix $(subdir)/,$(subdir-dirs))
endif
# Now find all the sysdep versions of those files. # Now find all the sysdep versions of those files.
+sysdeps := $(wildcard $(foreach dir,$(sysdep_dirs) $(source_dirs),\ +sysdeps := $(wildcard $(foreach dir,$(sysdep_dirs) $(source_dirs),\
$(addprefix $(dir)/, \ $(addprefix $(dir)/, \
@ -206,7 +210,7 @@ README: README.template version.c
sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@ sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@
# Make it unwritable so I won't change it by mistake. # Make it unwritable so I won't change it by mistake.
chmod 444 $@ chmod 444 $@
test ! -d CVS || commit -m'Remade for $(release)-$(version)' $@ test ! -d CVS || cvs commit -m'Remade for $(release)-$(version)' $@
endif # Subdirectory vs. parent makefile endif # Subdirectory vs. parent makefile

View File

@ -100,10 +100,17 @@ echo "weak_alias (__$$call, $$call)" >> $(objpfx)tmp_$${call}.c;
endef endef
endif endif
# Generate `#include <NAME.defs>', taking $* for NAME.
# If $(NAME.defs) is defined use its value in place of `NAME.defs'.
define include-%.defs
echo '#include <$(firstword $($*.defs) $*.defs)>'
endef
# Not an implicit rule so the stamps are never removed as intermediates! # Not an implicit rule so the stamps are never removed as intermediates!
$(patsubst %,$(objpfx)%.ustamp,$(user-interfaces)): $(objpfx)%.ustamp: $(patsubst %,$(objpfx)%.ustamp,$(user-interfaces)): $(objpfx)%.ustamp:
rm -f $@ rm -f $@
echo '#include <$*.defs>' | \ $(include-%.defs) | \
$(MIG) - /dev/null -prefix __ \ $(MIG) - /dev/null -prefix __ \
$(MIGFLAGS) $(user-MIGFLAGS) $(MIGFLAGS-$*) \ $(MIGFLAGS) $(user-MIGFLAGS) $(MIGFLAGS-$*) \
-i $(objpfx)tmp_ \ -i $(objpfx)tmp_ \
@ -118,7 +125,7 @@ $(patsubst %,$(objpfx)%.ustamp,$(user-interfaces)): $(objpfx)%.ustamp:
$(patsubst %,$(objpfx)%.udeps,$(user-interfaces)): $(patsubst %,$(objpfx)%.udeps,$(user-interfaces)):
$(objpfx)%.udeps: $(..)mach/Machrules $(objpfx)%.udeps: $(..)mach/Machrules
$(make-target-directory) $(make-target-directory)
echo '#include <$*.defs>' | \ $(include-%.defs) | \
$(CC) $(CPPFLAGS) -M -x c - | \ $(CC) $(CPPFLAGS) -M -x c - | \
sed -e 's,- *:,$@ $(@:.udeps=.ustamp) $(@:.udeps=.uh) $(@:.udeps=.__h)\ sed -e 's,- *:,$@ $(@:.udeps=.ustamp) $(@:.udeps=.uh) $(@:.udeps=.__h)\
$(@:.udeps=_server.c) $(@:.udeps=_server.h):,' \ $(@:.udeps=_server.c) $(@:.udeps=_server.h):,' \
@ -130,7 +137,7 @@ vpath %_server.c $(addprefix $(objpfx),$(sort $(dir $(server-interfaces))))
# Build the server stubs in $(objdir). # Build the server stubs in $(objdir).
$(objpfx)%_server.c $(objpfx)%_server.h: $(objpfx)%_server.c $(objpfx)%_server.h:
echo '#include <$*.defs>' | \ $(include-%.defs) | \
$(MIG) - /dev/null -prefix _S_ \ $(MIG) - /dev/null -prefix _S_ \
$(MIGFLAGS) $(server-MIGFLAGS) $(MIGFLAGS-$*) \ $(MIGFLAGS) $(server-MIGFLAGS) $(MIGFLAGS-$*) \
$< -user /dev/null -header /dev/null \ $< -user /dev/null -header /dev/null \
@ -141,14 +148,14 @@ $(objpfx)%_server.c $(objpfx)%_server.h:
$(objpfx)%.uh:; $(mig.uh) $(objpfx)%.uh:; $(mig.uh)
define mig.uh define mig.uh
$(make-target-directory) $(make-target-directory)
echo '#include <$*.defs>' | \ $(include-%.defs) | \
$(MIG) - /dev/null $(MIGFLAGS) \ $(MIG) - /dev/null $(MIGFLAGS) \
-header $@ -server /dev/null -user /dev/null -header $@ -server /dev/null -user /dev/null
endef endef
$(objpfx)%.__h:; $(mig.__h) $(objpfx)%.__h:; $(mig.__h)
define mig.__h define mig.__h
$(make-target-directory) $(make-target-directory)
echo '#include <$*.defs>' | \ $(include-%.defs) | \
$(MIG) - /dev/null $(MIGFLAGS) -prefix __ \ $(MIG) - /dev/null $(MIGFLAGS) -prefix __ \
-header $@ -server /dev/null -user /dev/null -header $@ -server /dev/null -user /dev/null
endef endef

View File

@ -45,6 +45,9 @@ user-interfaces := $(addprefix mach/,mach_interface mach_port mach_host \
default_pager default_pager_helper \ default_pager default_pager_helper \
)\ )\
$(addprefix device/,device device_request) $(addprefix device/,device device_request)
# We produce mach_interface.h from mach.defs because there is already a
# <mach/mach.h> that is not the interface header (thanks CMU).
mach_interface.defs = mach.defs
server-interfaces := mach/exc server-interfaces := mach/exc
tests := hello tests := hello
# It is important that we do not use the wildcard function to expand # It is important that we do not use the wildcard function to expand

View File

@ -1,4 +1,4 @@
setjmp_aux.c setjmp_aux.c
DEFS.h DEFS.h
divrem.m4 macros.m4 divrem.h
divl.S divlu.S divq.S divqu.S reml.S remlu.S remq.S remqu.S divl.S divlu.S divq.S divqu.S reml.S remlu.S remq.S remqu.S

1
sysdeps/gnu/Dist Normal file
View File

@ -0,0 +1 @@
errlist.awk

View File

@ -111,7 +111,9 @@ elf_machine_rel (struct link_map *map,
*reloc_addr -= (map->l_addr + *reloc_addr -= (map->l_addr +
dlsymtab[ELF32_R_SYM (reloc->r_info)].st_value); dlsymtab[ELF32_R_SYM (reloc->r_info)].st_value);
} }
loadbase = (*resolve) (&sym, (Elf32_Addr) reloc_addr, 0); loadbase = (resolve ? (*resolve) (&sym, (Elf32_Addr) reloc_addr, 0) :
/* RESOLVE is null during bootstrap relocation. */
map->l_addr);
*reloc_addr += sym ? (loadbase + sym->st_value) : 0; *reloc_addr += sym ? (loadbase + sym->st_value) : 0;
break; break;
case R_386_RELATIVE: case R_386_RELATIVE:
@ -119,7 +121,9 @@ elf_machine_rel (struct link_map *map,
*reloc_addr += map->l_addr; *reloc_addr += map->l_addr;
break; break;
case R_386_PC32: case R_386_PC32:
loadbase = (*resolve) (&sym, (Elf32_Addr) reloc_addr, 0); loadbase = (resolve ? (*resolve) (&sym, (Elf32_Addr) reloc_addr, 0) :
/* RESOLVE is null during bootstrap relocation. */
map->l_addr);
*reloc_addr += ((sym ? (loadbase + sym->st_value) : 0) - *reloc_addr += ((sym ? (loadbase + sym->st_value) : 0) -
(Elf32_Addr) reloc_addr); (Elf32_Addr) reloc_addr);
break; break;

View File

@ -1,3 +1,3 @@
errnos.awk errlist.awk err_hurd.sub errnos.awk err_hurd.sub
libc-ldscript libc-ldscript

View File

@ -1 +0,0 @@
sys_wait4.S

View File

@ -1,2 +0,0 @@
sys_wait4.S
sys_mmap.S

View File

@ -1 +0,0 @@
getsysinfo.S

View File

@ -1 +1 @@
sigtramp.c __handler.S __handler.S

View File

@ -1,3 +1 @@
sysv_termio.h sysv_termio.h
utmp.h
s_getdents.S

View File

@ -1,2 +1 @@
syssgi.S sysmp.S
__handler.S sigtramp.c __handler.S sigtramp.c

View File

@ -1 +0,0 @@
fxstat.S lxstat.S xmknod.S xstat.S

View File

@ -1,2 +0,0 @@
pgrpsys.S
sco_getgrp.S

View File

@ -1,7 +1,2 @@
sysconfig.h sysconfig.h
sysconfig.S
pgrpsys.S
__waitid.S
siginfo.h siginfo.h
__getpgid.c __setpgid.c
sysinfo.S