* Makerules (distinfo-vars): Add sysdep_routines.
authorRoland McGrath <roland@gnu.org>
Wed, 5 Jun 1996 19:07:37 +0000 (19:07 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 5 Jun 1996 19:07:37 +0000 (19:07 +0000)
* 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.

17 files changed:
ChangeLog
Make-dist
mach/Machrules
mach/Makefile
sysdeps/alpha/Dist
sysdeps/gnu/Dist [new file with mode: 0644]
sysdeps/i386/dl-machine.h
sysdeps/mach/hurd/Dist
sysdeps/unix/bsd/sony/newsos4/Dist [deleted file]
sysdeps/unix/bsd/sun/sunos4/Dist [deleted file]
sysdeps/unix/bsd/ultrix4/Dist [deleted file]
sysdeps/unix/bsd/ultrix4/mips/Dist
sysdeps/unix/sysv/Dist
sysdeps/unix/sysv/irix4/Dist
sysdeps/unix/sysv/linux/i386/Dist [deleted file]
sysdeps/unix/sysv/sco3.2.4/Dist [deleted file]
sysdeps/unix/sysv/sysv4/Dist

index e91beb0..7daac7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,32 @@
 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.
 
index d388142..018fd75 100644 (file)
--- a/Make-dist
+++ b/Make-dist
@@ -75,6 +75,10 @@ foo:=$(shell echo 'stub/generic +sysdeps=$(+sysdeps)'>&2)
 +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)/, \
@@ -206,7 +210,7 @@ README: README.template version.c
        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
index bc0ee37..cd2545b 100644 (file)
@@ -100,10 +100,17 @@ echo "weak_alias (__$$call, $$call)" >> $(objpfx)tmp_$${call}.c;
 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_ \
@@ -118,7 +125,7 @@ $(patsubst %,$(objpfx)%.ustamp,$(user-interfaces)): $(objpfx)%.ustamp:
 $(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):,' \
@@ -130,7 +137,7 @@ vpath %_server.c $(addprefix $(objpfx),$(sort $(dir $(server-interfaces))))
 
 # 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 \
@@ -141,14 +148,14 @@ $(objpfx)%_server.c $(objpfx)%_server.h:
 $(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
index c4665c2..bf38164 100644 (file)
@@ -45,6 +45,9 @@ user-interfaces := $(addprefix mach/,mach_interface mach_port mach_host       \
                                     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
index c4ea856..0b1e1b9 100644 (file)
@@ -1,4 +1,4 @@
 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
diff --git a/sysdeps/gnu/Dist b/sysdeps/gnu/Dist
new file mode 100644 (file)
index 0000000..093b211
--- /dev/null
@@ -0,0 +1 @@
+errlist.awk
index 7ed20de..b52e604 100644 (file)
@@ -111,7 +111,9 @@ elf_machine_rel (struct link_map *map,
          *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:
@@ -119,7 +121,9 @@ elf_machine_rel (struct link_map *map,
        *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;
index 89a6b56..986efc4 100644 (file)
@@ -1,3 +1,3 @@
-errnos.awk errlist.awk err_hurd.sub
+errnos.awk err_hurd.sub
 libc-ldscript
 
diff --git a/sysdeps/unix/bsd/sony/newsos4/Dist b/sysdeps/unix/bsd/sony/newsos4/Dist
deleted file mode 100644 (file)
index d7500fd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-sys_wait4.S
diff --git a/sysdeps/unix/bsd/sun/sunos4/Dist b/sysdeps/unix/bsd/sun/sunos4/Dist
deleted file mode 100644 (file)
index f1c9046..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-sys_wait4.S
-sys_mmap.S
diff --git a/sysdeps/unix/bsd/ultrix4/Dist b/sysdeps/unix/bsd/ultrix4/Dist
deleted file mode 100644 (file)
index 6745cd4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-getsysinfo.S
index f70fcf6..14343b6 100644 (file)
@@ -1,3 +1 @@
 sysv_termio.h
-utmp.h
-s_getdents.S
index c5dd106..cf0a898 100644 (file)
@@ -1,2 +1 @@
-syssgi.S sysmp.S
 __handler.S sigtramp.c
diff --git a/sysdeps/unix/sysv/linux/i386/Dist b/sysdeps/unix/sysv/linux/i386/Dist
deleted file mode 100644 (file)
index 91365ad..0000000
+++ /dev/null
@@ -1 +0,0 @@
-fxstat.S lxstat.S xmknod.S xstat.S
diff --git a/sysdeps/unix/sysv/sco3.2.4/Dist b/sysdeps/unix/sysv/sco3.2.4/Dist
deleted file mode 100644 (file)
index 462b9fb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-pgrpsys.S
-sco_getgrp.S
index f603d8b..da3d7e5 100644 (file)
@@ -1,7 +1,2 @@
 sysconfig.h
-sysconfig.S
-pgrpsys.S
-__waitid.S
 siginfo.h
-__getpgid.c __setpgid.c
-sysinfo.S