This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
2000-06-07 Greg McGary <greg@mcgary.org> * 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. Index: Makeconfig =================================================================== RCS file: /cvs/glibc/libc/Makeconfig,v retrieving revision 1.237 diff -u -p -r1.237 Makeconfig --- Makeconfig 2000/05/29 17:14:26 1.237 +++ Makeconfig 2000/06/07 23:53:46 @@ -619,7 +619,7 @@ CFLAGS-.op = -pg libtype.op = lib%_p.a endif ifeq (yes,$(build-omitfp)) -# Under --enable-omitfp, we build an the library optimized without +# Under --enable-omitfp, we build the library optimized without # debugging information using -fomit-frame-pointer, and build an extra # library with debugging information. The debuggable objects are named foo.og. object-suffixes += .og @@ -629,12 +629,14 @@ CFLAGS-.o = $(filter %frame-pointer,$(+c CFLAGS-.os += -g0 -O99 -fomit-frame-pointer -D__USE_STRING_INLINES libtype.og = lib%_g.a endif + +bppfx = BP- ifeq (yes,$(build-bounded)) # Under --enable-bounded, we build the library with `-fbounded-pointers -g' # to runtime bounds checking. The bounded-pointer objects are named foo.ob. object-suffixes += .ob -CPPFLAGS-.ob = -DBOUNDED_POINTERS $(pic-default) -CFLAGS-.ob = -g -fbounded-pointers +CPPFLAGS-.ob = -fbounded-pointers $(pic-default) +CFLAGS-.ob = -g -O2 -fno-optimize-sibling-calls libtype.ob = lib%_b.a endif Index: Makerules =================================================================== RCS file: /cvs/glibc/libc/Makerules,v retrieving revision 1.335 diff -u -p -r1.335 Makerules --- Makerules 2000/04/28 05:07:25 1.335 +++ Makerules 2000/06/07 23:53:47 @@ -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)
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |