# HG changeset patch
# User t_mrc-ct@users.sourceforge.jp
# Date 1375620327 -32400
# Branch GECKO1708esr_2013080515_RELBRANCH
# Node ID 9ffe8b36d4ab0c78072460c3d9c64c7311b94c17
# Parent  936344d4f99807f828eeb748f76aaa1f9159399d
patch for xpcshell-tests

diff --git a/build/Makefile.in b/build/Makefile.in
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -175,11 +175,11 @@
 
 # Basic unit tests for some stuff in the unify script
 check::
-# build x64/i386 binaries, and unify them
-	rm -f unify-test-x64 unify-test-i386 unify-test-universal
-	$(HOST_CC) -arch x86_64 $(srcdir)/unify-test.c -o unify-test-x64
-	$(HOST_CC) -arch i386 $(srcdir)/unify-test.c -o unify-test-i386
-	@if ! $(srcdir)/macosx/universal/unify ./unify-test-x64 ./unify-test-i386 \
+# build ppc64/32 binaries, and unify them
+	rm -f unify-test-ppc64 unify-test-ppc32 unify-test-universal
+	$(HOST_CC) -m64 $(srcdir)/unify-test.c -o unify-test-ppc64
+	$(HOST_CC) -m32 $(srcdir)/unify-test.c -o unify-test-ppc32
+	@if ! $(srcdir)/macosx/universal/unify ./unify-test-ppc64 ./unify-test-ppc32 \
           ./unify-test-universal; then \
           echo "TEST-UNEXPECTED-FAIL | build/ | unify failed to produce a universal binary!"; \
           false; \
@@ -196,10 +196,10 @@
         fi
 # try building an x86-64 binary. if that succeeds, try unifying it
 # with an i386 binary
-	rm -f unify-test-x86_64 unify-test-universal-64
-	-$(HOST_CC) -arch x86_64 $(srcdir)/unify-test.c -o unify-test-x86_64
-	@if test -f ./unify-test-x86_64; then \
-          if ! $(srcdir)/macosx/universal/unify ./unify-test-x86_64 ./unify-test-i386 \
+	rm -f unify-test-ppc64 unify-test-universal-64
+	-$(HOST_CC) -m64 $(srcdir)/unify-test.c -o unify-test-ppc64
+	@if test -f ./unify-test-ppc64; then \
+          if ! $(srcdir)/macosx/universal/unify ./unify-test-ppc64 ./unify-test-ppc32 \
             ./unify-test-universal-64; then \
             echo "TEST-UNEXPECTED-FAIL | build/ | unify failed to produce a universal binary with a 64-bit input!"; \
             false; \
diff --git a/build/automationutils.py b/build/automationutils.py
--- a/build/automationutils.py
+++ b/build/automationutils.py
@@ -417,6 +417,7 @@
   """
   if platform.system() == "Darwin" and \
      hasattr(platform, 'mac_ver') and \
+     platform.processor() != 'powerpc' and \
      platform.mac_ver()[0][:4] < '10.6':
     return ["arch", "-arch", "i386"] + cmd
   # otherwise just execute the command normally
diff --git a/dom/plugins/test/testplugin/nptest_macosx.mm b/dom/plugins/test/testplugin/nptest_macosx.mm
--- a/dom/plugins/test/testplugin/nptest_macosx.mm
+++ b/dom/plugins/test/testplugin/nptest_macosx.mm
@@ -235,7 +235,7 @@
     ATSUStyle atsuStyle;
     ATSUCreateStyle(&atsuStyle);
     CFIndex stringLength = CFStringGetLength(uaCFString);
-    UniChar* unicharBuffer = (UniChar*)malloc((stringLength + 1) * sizeof(UniChar));
+    UniChar* unicharBuffer = (UniChar*)NPN_MemAlloc((stringLength + 1) * sizeof(UniChar));
     CFStringGetCharacters(uaCFString, CFRangeMake(0, stringLength), unicharBuffer);
     UniCharCount runLengths = kATSUToTextEnd;
     ATSUTextLayout atsuLayout;
@@ -275,7 +275,7 @@
                           kATSUFromTextBeginning,
                           kATSUToTextEnd,
                           0, NULL, &softBreakCount);
-    UniCharArrayOffset* softBreaks = (UniCharArrayOffset*)malloc(softBreakCount * sizeof(UniCharArrayOffset));
+    UniCharArrayOffset* softBreaks = (UniCharArrayOffset*)NPN_MemAlloc(softBreakCount * sizeof(UniCharArrayOffset));
     ATSUGetSoftLineBreaks(atsuLayout,
                           kATSUFromTextBeginning,
                           kATSUToTextEnd,
@@ -290,8 +290,8 @@
     }
     ATSUDrawText(atsuLayout, currentDrawOffset, kATSUToTextEnd, FloatToFixed(5.0),
                  FloatToFixed(windowHeight - 5.0 - (lineHeight * (i + 1.0))));
-    free(unicharBuffer);
-    free(softBreaks);
+    NPN_MemFree(unicharBuffer);
+    NPN_MemFree(softBreaks);
 #endif
 
     // restore the cgcontext gstate
diff --git a/testing/mozbase/mozrunner/mozrunner/runner.py b/testing/mozbase/mozrunner/mozrunner/runner.py
--- a/testing/mozbase/mozrunner/mozrunner/runner.py
+++ b/testing/mozbase/mozrunner/mozrunner/runner.py
@@ -230,6 +230,7 @@
         binary.
         """
         if mozinfo.isMac and hasattr(platform, 'mac_ver') and \
+                               platform.processor() != 'powerpc' and \
                                platform.mac_ver()[0][:4] < '10.6':
             return ["arch", "-arch", "i386"] + cmd
         return cmd
