From ab95290c787fb6e22bf03f23059b97559e1ad7d7 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 13 Jun 2000 07:33:12 +0000 Subject: Update. 2000-06-13 Ulrich Drepper * misc/sys/cdefs.h: Define __bounded and __unbounded if __BOUNDED_POINTERS__ is not defined. 2000-06-07 Greg McGary * sysdeps/generic/bp-sym.h: New file. * sysdeps/generic/bp-start.h: New file. * sysdeps/i386/elf/start.S: Designate BP symbols. * sysdeps/generic/libc-start.c: Wrap bounds around argv & envp and each of their string members. 2000-06-07 Greg McGary * sysdeps/unix/make-syscalls.sh: Add comments to output that aid debugging & comprehension. Map simple syscall signatures to number of args. Generate BP syscall thunk definitions. * sysdeps/generic/bp-thunks.h: New file. * sysdeps/unix/syscalls.list: Replace arg-count with simple return+arg signature. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/inet/syscalls.list: Likewise. * sysdeps/unix/mman/syscalls.list: Likewise. * sysdeps/unix/sysv/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise. 2000-06-07 Greg McGary * Makeconfig (CPPFLAGS-.ob): pass -fbounded-pointers for all files *.[cS]. (CFLAGS-.ob): Don't optimize sibling calls. (bppfx): New variable. * Makerules (elide-bp-thunks): New variable. (elide-routines.*): Elide BP-* files for all but *.ob. (sources): Include bp-thunks. * iconv/gconv_simple.c: Remove unnecessary prototype. * iconv/gconv_trans.c: Pretty print. --- Makerules | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'Makerules') diff --git a/Makerules b/Makerules index baeb9b6ab0..f334c8c171 100644 --- a/Makerules +++ b/Makerules @@ -418,15 +418,19 @@ ifndef libc.so-version static-only-routines = endif +# Bounded pointer thunks are only built for *.ob +elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks)) + elide-routines.oS += $(filter-out $(static-only-routines),\ - $(routines) $(aux) $(sysdep_routines)) -elide-routines.os += $(static-only-routines) + $(routines) $(aux) $(sysdep_routines)) \ + $(elide-bp-thunks) +elide-routines.os += $(static-only-routines) $(elide-bp-thunks) # If we have versioned code we don't need the old versions in any of the # static libraries. -elide-routines.o += $(shared-only-routines) -elide-routines.op += $(shared-only-routines) -elide-routines.og += $(shared-only-routines) +elide-routines.o += $(shared-only-routines) $(elide-bp-thunks) +elide-routines.op += $(shared-only-routines) $(elide-bp-thunks) +elide-routines.og += $(shared-only-routines) $(elide-bp-thunks) elide-routines.ob += $(shared-only-routines) # Don't try to use -lc when making libc.so itself. @@ -466,9 +470,13 @@ endif # Figure out the source filenames in this directory. -override sources := $(addsuffix .c,$(filter-out $(elided-routines),\ - $(routines) $(aux) \ - $(sysdep_routines))) +override sources := $(addsuffix .c,\ + $(filter-out $(elided-routines),\ + $(routines) $(aux) \ + $(sysdep_routines)) \ + $(addprefix $(bppfx),\ + $(filter $(routines) $(sysdep_routines),\ + $(bp-thunks)))) sysdep_routines := $(sysdep_routines) headers := $(headers) $(sysdep_headers) -- cgit v1.2.1