That fixed it, thanks! Attached is the latest patch (Florian, I will send you the regenerated Makefile.in and configure separately). Please review and let me know if this is OK to commit!
-- Caroline cmt...@google.com 2013-08-20 Caroline Tice <cmt...@google.com> * Makefile.am (DEFS): Add "@DEFS@", to inherit defintions. * Makefile.in: Regenerate. * configure.ac: Add check for __secure_getenv and secure_getenv. * configure: Regenerate. * vtv_utils.cc : Include stdlib.h (HAVE_SECURE_GETENV): Add checks and definitions for secure_getenv. (log_dirs): Remove file static constant. (__vtv_open_log): Increase size of log file name. Add the user and process ids to the file name. Do not put the log files in /tmp. Instead try to get the directory name from an environment variable; if that fails try to use stderr. Add O_NOFOLLOW to the flags for 'open'. Update function comment. * vtv_rts.cc (log_memory_protection_data): Remove %d from file name. On Tue, Aug 20, 2013 at 11:35 AM, Florian Weimer <fwei...@redhat.com> wrote: > On 08/20/2013 12:24 AM, Caroline Tice wrote: >> >> Hi All, >> >> I could really use some help here from someone who has a better >> understanding of how the config/Makefile system works than I do. >> >> In my libvtv/configure.ac file, I have: >> >> AC_GNU_SOURCE >> AC_CHECK_FUNCS([__secure_getenv]) >> >> AC_GNU_SOURCE >> AC_CHECK_FUNCS([secure_getenv]) > > > There's nothing in Makefile.am that makes use of the substitution variables, > so configure doesn't actually emit code to define the matching preprocessor > macros. > > I tried to change that, by putting "DEFS = @DEFS@" into libvtv/Makefile.am > (libvtv/Makefile.in is derived from that). The diff below is slightly > garbled, but you get the idea. > > diff --git a/libvtv/Makefile.am b/libvtv/Makefile.am > index 73acfb4..567bd81 100644 > --- a/libvtv/Makefile.am > +++ b/libvtv/Makefile.am > @@ -30,7 +30,7 @@ ACLOCAL_AMFLAGS = -I .. -I ../config > # May be used by toolexeclibdir. > gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) > > -DEFS = > +DEFS = @DEFS@ > AM_CPPFLAGS = -I$(top_srcdir)/../include > AM_CFLAGS = $(XCFLAGS) > AM_CCASFLAGS = $(XCFLAGS) > > > But I ended up with: > > libtool: compile: /home/fw/src/gnu/gcc/build/./gcc/xgcc > -B/home/fw/src/gnu/gcc/build/./gcc/ "-DPACKAGE_NAME=\"GNU Vtable > Verification Runtime Library\"" -DPACKAGE_TARNAME=\"libvtv\" > -DPACKAGE_VERSION=\"1.0\" "-DPACKAGE_STRING=\"GNU Vtable Verification > Runtime Library 1.0\"" -DPACKAGE_BUGREPORT=\"\" > -DPACKAGE_URL=\"http://www.gnu.org/software/libvtv/\" -DPACKAGE=\"libvtv\" > -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 > -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 > -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 > -DLT_OBJDIR=\".libs/\" -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 > -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DHAVE___SECURE_GETENV=1 -I. > -I../../../git/libvtv -I../../../git/libvtv/../include -D_GNU_SOURCE -Wall > -Wextra -fno-exceptions -Wl,-u_vtable_map_vars_start,-u_vtable_map_vars_end > -g -O2 -D_GNU_SOURCE -MT vtv_rts.lo -MD -MP -MF .deps/vtv_rts.Tpo -c > ../../../git/libvtv/vtv_rts.cc -fPIC -DPIC -o .libs/vtv_rts.o > ../../../git/libvtv/vtv_rts.cc:134:28: fatal error: bits/c++config.h: No > such file or directory > #include <bits/c++config.h> > ^ > (The caret is at the wrong position, IMHO.) > > But I suspect something went wrong with regenerating Makefile.in. Have you > got automake 1.11? Then you could make the change, regenerate Makefile.in, > and try again. > > > -- > Florian Weimer / Red Hat Product Security Team
vtv-update-tmpdir.patch
Description: Binary data