diff --git a/core/combo/javac.mk b/core/combo/javac.mk
index 4d337d1..d4c04e7 100644
--- a/core/combo/javac.mk
+++ b/core/combo/javac.mk
@@ -12,7 +12,7 @@
     COMMON_JAVAC := development/host/windows/prebuilt/javawrap.exe -J-Xmx256m \
         -target 1.5 -Xmaxerrs 9999999
 else
-    COMMON_JAVAC := javac -J-Xmx256m -target 1.5 -Xmaxerrs 9999999
+    COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -Xmaxerrs 9999999
 endif
 
 # Eclipse.
diff --git a/core/combo/linux-arm.mk b/core/combo/linux-arm.mk
index adb82d3..507e4dd 100644
--- a/core/combo/linux-arm.mk
+++ b/core/combo/linux-arm.mk
@@ -53,6 +53,7 @@
 			-ffunction-sections \
 			-funwind-tables \
 			-fstack-protector \
+			-fno-short-enums \
 			-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ \
 			-D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
 			-include $(call select-android-config-h,linux-arm)
diff --git a/core/config.mk b/core/config.mk
index 5952789..81063b5 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -3,6 +3,11 @@
 # current configuration and platform, which
 # are not specific to what is being built.
 
+# Use bash, not whatever shell somebody has installed as /bin/sh
+# This is repeated from main.mk, since envsetup.sh runs this file
+# directly.
+SHELL := /bin/bash
+
 # Standard source directories.
 SRC_DOCS:= $(TOPDIR)docs
 # TODO: Enforce some kind of layering; only add include paths
diff --git a/core/definitions.mk b/core/definitions.mk
index c88c048..a24837b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1147,11 +1147,13 @@
 @rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR)
 endef
 
+#TODO: use a smaller -Xmx value for most libraries;
+#      only core.jar and framework.jar need a heap this big.
 define transform-classes.jar-to-dex
 @echo "target Dex: $(PRIVATE_MODULE)"
 @mkdir -p $(dir $@)
 $(hide) $(DX) -JXms16M \
-    $(if $(GENERATE_DEX_DEBUG), -JXmx1536M, -JXmx1280M) \
+    -JXmx1536M \
     --dex --output=$@ \
     $(if $(NO_OPTIMIZE_DX), \
         --no-optimize) \
diff --git a/core/main.mk b/core/main.mk
index f190ffb..4a1519c 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -1,5 +1,7 @@
 
 # Use bash, not whatever shell somebody has installed as /bin/sh
+# This is repeated in config.mk, since envsetup.sh runs that file
+# directly.
 SHELL := /bin/bash
 
 # this turns off the suffix rules built into make
diff --git a/core/pathmap.mk b/core/pathmap.mk
index d4302c6..5498898 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -31,10 +31,10 @@
     bluez-libs:external/bluez/libs/include \
     bluez-utils:external/bluez/utils \
     bootloader:bootable/bootloader/legacy/include \
-    corecg:external/skia/include/corecg \
+    corecg:external/skia/include/core \
     dbus:external/dbus \
     frameworks-base:frameworks/base/include \
-    graphics:external/skia/include/graphics \
+    graphics:external/skia/include/core \
     libc:bionic/libc/include \
     libdrm1:frameworks/base/media/libdrm/mobile1/include \
     libdrm2:frameworks/base/media/libdrm/mobile2/include \
diff --git a/core/tasks/apicheck.mk b/core/tasks/apicheck.mk
index 8e766bb..c4e51c1 100644
--- a/core/tasks/apicheck.mk
+++ b/core/tasks/apicheck.mk
@@ -47,7 +47,7 @@
 	checkapi-last, \
 	$(SRC_API_DIR)/$(lastword $(TARGET_AVAILABLE_SDK_VERSIONS)).xml, \
 	$(INTERNAL_PLATFORM_API_FILE), \
-	-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 \
+	-hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 \
 	-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
 	-error 16 -error 17 -error 18 , \
 	cat $(BUILD_SYSTEM)/apicheck_msg_last.txt \
@@ -61,7 +61,8 @@
 	$(INTERNAL_PLATFORM_API_FILE), \
 	-error 2 -error 3 -error 4 -error 5 -error 6 \
 	-error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
-	-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 , \
+	-error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
+	-error 25 , \
 	cat $(BUILD_SYSTEM)/apicheck_msg_current.txt \
 	))
 
diff --git a/tools/apicheck/src/com/android/apicheck/Errors.java b/tools/apicheck/src/com/android/apicheck/Errors.java
index cd4ba25..d7013e3 100644
--- a/tools/apicheck/src/com/android/apicheck/Errors.java
+++ b/tools/apicheck/src/com/android/apicheck/Errors.java
@@ -114,6 +114,7 @@
     public static Error CHANGED_NATIVE = new Error(22, HIDDEN);
     public static Error CHANGED_CLASS = new Error(23, WARNING);
     public static Error CHANGED_DEPRECATED = new Error(24, WARNING);
+    public static Error CHANGED_SYNCHRONIZED = new Error(25, ERROR);
     
     public static Error[] ERRORS = {
         PARSE_ERROR,
@@ -140,6 +141,7 @@
         CHANGED_NATIVE,
         CHANGED_CLASS,
         CHANGED_DEPRECATED,
+        CHANGED_SYNCHRONIZED,
         };
 
     public static boolean setErrorLevel(int code, int level) {
diff --git a/tools/apicheck/src/com/android/apicheck/MethodInfo.java b/tools/apicheck/src/com/android/apicheck/MethodInfo.java
index 2994460..86e20de 100644
--- a/tools/apicheck/src/com/android/apicheck/MethodInfo.java
+++ b/tools/apicheck/src/com/android/apicheck/MethodInfo.java
@@ -145,6 +145,12 @@
             consistent = false;
         }
         
+        if (mIsSynchronized != mInfo.mIsSynchronized) {
+            Errors.error(Errors.CHANGED_SYNCHRONIZED, mInfo.position(),
+                    "Method " + mInfo.qualifiedName() + " has changed 'synchronized' qualifier from " + mIsSynchronized + " to " + mInfo.mIsSynchronized);
+            consistent = false;
+        }
+        
         for (String exec : mExceptions) {
             if (!mInfo.mExceptions.contains(exec)) {
                 // exclude 'throws' changes to finalize() overrides with no arguments
diff --git a/tools/atree/files.cpp b/tools/atree/files.cpp
index 0f59521..c675ab7 100644
--- a/tools/atree/files.cpp
+++ b/tools/atree/files.cpp
@@ -1,5 +1,7 @@
 #include "files.h"
 #include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
 #include <errno.h>
 #include <sys/stat.h>
 #include <unistd.h>
diff --git a/tools/atree/fs.cpp b/tools/atree/fs.cpp
index 15d6092..022bd8c 100644
--- a/tools/atree/fs.cpp
+++ b/tools/atree/fs.cpp
@@ -6,6 +6,7 @@
 #include <string>
 #include <vector>
 #include <stdio.h>
+#include <string.h>
 #include <errno.h>
 #include <sys/stat.h>
 #include <unistd.h>
diff --git a/tools/droiddoc/templates/assets/android-developer-core.css b/tools/droiddoc/templates/assets/android-developer-core.css
index eeedc7f..73c08db 100644
--- a/tools/droiddoc/templates/assets/android-developer-core.css
+++ b/tools/droiddoc/templates/assets/android-developer-core.css
@@ -288,50 +288,54 @@
 
 /* main */
 
+#mainBodyFluid {
+  margin: 20px 10px;
+  color:#333;
+}
+
 #mainBodyFixed {
-  margin: 20px auto;
+  margin: 20px 10px;
   color: #333;
   width:920px;
 }
 
-#mainBodyFixed h3 {
+#mainBodyFixed h3,
+#mainBodyFluid h3 {
   color:#336666;
   font-size:1.25em;
   margin: 0em 0em 0em 0em;
   padding-bottom:.5em;
 }
 
-#mainBodyFixed h2 { 
+#mainBodyFixed h2,
+#mainBodyFluid h2 { 
   color:#336666;
   font-size:1.25em;
   margin: 0;
   padding-bottom:.5em;
 }
 
-#mainBodyFixed h1 { 
+#mainBodyFixed h1,
+#mainBodyFluid h1 { 
   color:#435A6E;
   font-size:1.7em;
   margin: 1em 0;
 }
 
 #mainBodyFixed .green,
+#mainBodyFluid .green,
 #jd-content .green { 
   color:#7BB026;
   background-color:none;
 }
 
-#mainBodyFixed a {
+#mainBodyFixed a,
+#mainBodyFluid a {
   color: #006699;
   font-size: 13px;
   text-decoration: underline;
 }
 
-#mainBodyFixed a.orangeLink {
-  color: #ff6600;
-  font-size: 13px;
-  text-decoration: underline;
-}
-
 #mainBodyLeft {
   float: left;
   width: 600px;
