* 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.
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.
Comment out ref to nonexistent _dl_close.
+sysdep-names := $(sort $(notdir $(+sysdeps)))
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.
+sysdeps := $(wildcard $(foreach dir,$(sysdep_dirs) $(source_dirs),\
$(addprefix $(dir)/, \
sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@
# Make it unwritable so I won't change it by mistake.
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
endef
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!
$(patsubst %,$(objpfx)%.ustamp,$(user-interfaces)): $(objpfx)%.ustamp:
rm -f $@
- echo '#include <$*.defs>' | \
+ $(include-%.defs) | \
$(MIG) - /dev/null -prefix __ \
$(MIGFLAGS) $(user-MIGFLAGS) $(MIGFLAGS-$*) \
-i $(objpfx)tmp_ \
$(patsubst %,$(objpfx)%.udeps,$(user-interfaces)):
$(objpfx)%.udeps: $(..)mach/Machrules
$(make-target-directory)
- echo '#include <$*.defs>' | \
+ $(include-%.defs) | \
$(CC) $(CPPFLAGS) -M -x c - | \
sed -e 's,- *:,$@ $(@:.udeps=.ustamp) $(@:.udeps=.uh) $(@:.udeps=.__h)\
$(@:.udeps=_server.c) $(@:.udeps=_server.h):,' \
# Build the server stubs in $(objdir).
$(objpfx)%_server.c $(objpfx)%_server.h:
- echo '#include <$*.defs>' | \
+ $(include-%.defs) | \
$(MIG) - /dev/null -prefix _S_ \
$(MIGFLAGS) $(server-MIGFLAGS) $(MIGFLAGS-$*) \
$< -user /dev/null -header /dev/null \
$(objpfx)%.uh:; $(mig.uh)
define mig.uh
$(make-target-directory)
-echo '#include <$*.defs>' | \
+$(include-%.defs) | \
$(MIG) - /dev/null $(MIGFLAGS) \
-header $@ -server /dev/null -user /dev/null
endef
$(objpfx)%.__h:; $(mig.__h)
define mig.__h
$(make-target-directory)
-echo '#include <$*.defs>' | \
+$(include-%.defs) | \
$(MIG) - /dev/null $(MIGFLAGS) -prefix __ \
-header $@ -server /dev/null -user /dev/null
endef
default_pager default_pager_helper \
)\
$(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
tests := hello
# It is important that we do not use the wildcard function to expand
setjmp_aux.c
DEFS.h
-divrem.m4 macros.m4
+divrem.h
divl.S divlu.S divq.S divqu.S reml.S remlu.S remq.S remqu.S
--- /dev/null
+errlist.awk
*reloc_addr -= (map->l_addr +
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;
break;
case R_386_RELATIVE:
*reloc_addr += map->l_addr;
break;
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) -
(Elf32_Addr) reloc_addr);
break;
-errnos.awk errlist.awk err_hurd.sub
+errnos.awk err_hurd.sub
libc-ldscript
+++ /dev/null
-sys_wait4.S
+++ /dev/null
-sys_wait4.S
-sys_mmap.S
+++ /dev/null
-getsysinfo.S
-sigtramp.c __handler.S
+__handler.S
sysv_termio.h
-utmp.h
-s_getdents.S
-syssgi.S sysmp.S
__handler.S sigtramp.c
+++ /dev/null
-fxstat.S lxstat.S xmknod.S xstat.S
+++ /dev/null
-pgrpsys.S
-sco_getgrp.S
sysconfig.h
-sysconfig.S
-pgrpsys.S
-__waitid.S
siginfo.h
-__getpgid.c __setpgid.c
-sysinfo.S