From: Julian Seward Date: Mon, 26 Nov 2007 22:43:03 +0000 (+0000) Subject: AIX 5.3 build fixes. X-Git-Tag: svn/VALGRIND_3_3_0~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a60ad6740d5b3e035485f68939b491a48d2cea54;p=thirdparty%2Fvalgrind.git AIX 5.3 build fixes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7232 --- diff --git a/coregrind/m_syswrap/syswrap-aix5.c b/coregrind/m_syswrap/syswrap-aix5.c index a5617db081..9f6e48098d 100644 --- a/coregrind/m_syswrap/syswrap-aix5.c +++ b/coregrind/m_syswrap/syswrap-aix5.c @@ -805,6 +805,7 @@ static SysRes simple_pre_exec_check(const HChar* exe_name) { Int fd, ret; SysRes res; + Bool setuid_allowed; // Check it's readable res = VG_(open)(exe_name, VKI_O_RDONLY, 0); @@ -814,9 +815,12 @@ static SysRes simple_pre_exec_check(const HChar* exe_name) fd = res.res; VG_(close)(fd); - // Check we have execute permissions - ret = VG_(check_executable)((HChar*)exe_name); - + // Check we have execute permissions. We allow setuid executables + // to be run only in the case when we are not simulating them, that + // is, they to be run natively. + setuid_allowed = VG_(clo_trace_children) ? False : True; + ret = VG_(check_executable)(NULL/*&is_setuid*/, + (HChar*)exe_name, setuid_allowed); if (0 != ret) { return VG_(mk_SysRes_Error)(ret); } diff --git a/coregrind/m_syswrap/syswrap-ppc32-aix5.c b/coregrind/m_syswrap/syswrap-ppc32-aix5.c index 584e0aa694..2eaa785f3f 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-aix5.c +++ b/coregrind/m_syswrap/syswrap-ppc32-aix5.c @@ -105,7 +105,7 @@ static VgSchedReturnCode thread_wrapper(Word /*ThreadId*/ tidW) VG_(printf)("thread tid %d started: stack = %p\n", tid, &tid); - VG_TRACK ( post_thread_create, tst->os_state.parent, tid ); + VG_TRACK( pre_thread_first_insn, tid ); tst->os_state.lwpid = VG_(gettid)(); tst->os_state.threadgroup = VG_(getpid)(); diff --git a/coregrind/m_syswrap/syswrap-ppc64-aix5.c b/coregrind/m_syswrap/syswrap-ppc64-aix5.c index 9d3612532f..fb6aeb8276 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-aix5.c +++ b/coregrind/m_syswrap/syswrap-ppc64-aix5.c @@ -105,7 +105,7 @@ static VgSchedReturnCode thread_wrapper(Word /*ThreadId*/ tidW) VG_(printf)("thread tid %d started: stack = %p\n", tid, &tid); - VG_TRACK ( post_thread_create, tst->os_state.parent, tid ); + VG_TRACK( pre_thread_first_insn, tid ); tst->os_state.lwpid = VG_(gettid)(); tst->os_state.threadgroup = VG_(getpid)(); diff --git a/exp-omega/Makefile.am b/exp-omega/Makefile.am index 9d35d6de7f..a8c456b41b 100644 --- a/exp-omega/Makefile.am +++ b/exp-omega/Makefile.am @@ -14,6 +14,12 @@ endif if VGP_PPC64_LINUX noinst_PROGRAMS += exp-omega-ppc64-linux vgpreload_exp-omega-ppc64-linux.so endif +if VGP_PPC32_AIX5 +noinst_PROGRAMS += exp-omega-ppc32-aix5 vgpreload_exp-omega-ppc32-aix5.so +endif +if VGP_PPC64_AIX5 +noinst_PROGRAMS += exp-omega-ppc64-aix5 vgpreload_exp-omega-ppc64-aix5.so +endif VGPRELOAD_OMEGA_SOURCES_COMMON = o_replace_memops.c @@ -53,6 +59,24 @@ vgpreload_exp_omega_ppc64_linux_so_LDFLAGS = \ $(PRELOAD_LDFLAGS_PPC64_LINUX) \ $(LIBREPLACEMALLOC_LDFLAGS_PPC64_LINUX) +vgpreload_exp_omega_ppc32_aix5_so_SOURCES = $(VGPRELOAD_OMEGA_SOURCES_COMMON) +vgpreload_exp_omega_ppc32_aix5_so_CPPFLAGS = $(AM_CPPFLAGS_PPC32_AIX5) +vgpreload_exp_omega_ppc32_aix5_so_CFLAGS = $(AM_CFLAGS_PPC32_AIX5) $(AM_CFLAGS_PIC) -O2 +vgpreload_exp_omega_ppc32_aix5_so_CCASFLAGS = $(AM_CCASFLAGS_PPC32_AIX5) +vgpreload_exp_omega_ppc32_aix5_so_DEPENDENCIES = $(LIBREPLACEMALLOC_PPC32_AIX5) +vgpreload_exp_omega_ppc32_aix5_so_LDFLAGS = \ + $(PRELOAD_LDFLAGS_PPC32_AIX5) \ + $(LIBREPLACEMALLOC_LDFLAGS_PPC32_AIX5) + +vgpreload_exp_omega_ppc64_aix5_so_SOURCES = $(VGPRELOAD_OMEGA_SOURCES_COMMON) +vgpreload_exp_omega_ppc64_aix5_so_CPPFLAGS = $(AM_CPPFLAGS_PPC64_AIX5) +vgpreload_exp_omega_ppc64_aix5_so_CFLAGS = $(AM_CFLAGS_PPC64_AIX5) $(AM_CFLAGS_PIC) -O2 +vgpreload_exp_omega_ppc64_aix5_so_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5) +vgpreload_exp_omega_ppc64_aix5_so_DEPENDENCIES = $(LIBREPLACEMALLOC_PPC64_AIX5) +vgpreload_exp_omega_ppc64_aix5_so_LDFLAGS = \ + $(PRELOAD_LDFLAGS_PPC64_AIX5) \ + $(LIBREPLACEMALLOC_LDFLAGS_PPC64_AIX5) + OMEGA_SOURCES_COMMON = \ o_main.c @@ -88,6 +112,22 @@ exp_omega_ppc64_linux_DEPENDENCIES = $(COREGRIND_LIBS_PPC64_LINUX) exp_omega_ppc64_linux_LDADD = $(TOOL_LDADD_PPC64_LINUX) exp_omega_ppc64_linux_LDFLAGS = $(TOOL_LDFLAGS_PPC64_LINUX) +exp_omega_ppc32_aix5_SOURCES = $(OMEGA_SOURCES_COMMON) +exp_omega_ppc32_aix5_CPPFLAGS = $(AM_CPPFLAGS_PPC32_AIX5) +exp_omega_ppc32_aix5_CFLAGS = $(AM_CFLAGS_PPC32_AIX5) -O2 +exp_omega_ppc32_aix5_CCASFLAGS = $(AM_CCASFLAGS_PPC32_AIX5) +exp_omega_ppc32_aix5_DEPENDENCIES = $(COREGRIND_LIBS_PPC32_AIX5) +exp_omega_ppc32_aix5_LDADD = $(TOOL_LDADD_PPC32_AIX5) +exp_omega_ppc32_aix5_LDFLAGS = $(TOOL_LDFLAGS_PPC32_AIX5) + +exp_omega_ppc64_aix5_SOURCES = $(OMEGA_SOURCES_COMMON) +exp_omega_ppc64_aix5_CPPFLAGS = $(AM_CPPFLAGS_PPC64_AIX5) +exp_omega_ppc64_aix5_CFLAGS = $(AM_CFLAGS_PPC64_AIX5) -O2 +exp_omega_ppc64_aix5_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5) +exp_omega_ppc64_aix5_DEPENDENCIES = $(COREGRIND_LIBS_PPC64_AIX5) +exp_omega_ppc64_aix5_LDADD = $(TOOL_LDADD_PPC64_AIX5) +exp_omega_ppc64_aix5_LDFLAGS = $(TOOL_LDFLAGS_PPC64_AIX5) + oincludedir = $(includedir)/valgrind oinclude_HEADERS = omega.h