]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
AIX 5.3 build fixes.
authorJulian Seward <jseward@acm.org>
Mon, 26 Nov 2007 22:43:03 +0000 (22:43 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 26 Nov 2007 22:43:03 +0000 (22:43 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7232

coregrind/m_syswrap/syswrap-aix5.c
coregrind/m_syswrap/syswrap-ppc32-aix5.c
coregrind/m_syswrap/syswrap-ppc64-aix5.c
exp-omega/Makefile.am

index a5617db081fbeb2cd4664f67f78e4f394686246a..9f6e48098d4b4d7b7bacbc99c104f5c430a90f0c 100644 (file)
@@ -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);
    }
index 584e0aa6946e439d45698461147ebd57ca391296..2eaa785f3f028a37aae313e82dcfd3b15acf01ab 100644 (file)
@@ -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)();
index 9d3612532ff8911bdb4e2ea4ca147e82e47e89c2..fb6aeb827645bab3094c92a077acd46c9f77ff04 100644 (file)
@@ -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)();
index 9d35d6de7f8422b42f0463d474bf318b7d88ce02..a8c456b41b2b8bc3269db17f37fe3a9922b7619e 100644 (file)
@@ -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