diff --git a/envsetup.sh b/envsetup.sh
index a8bef92..25d95f4 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -51,20 +51,18 @@
     cached_vars=`cat $T/build/envsetup.sh | tr '()' '  ' | awk '{for(i=1;i<=NF;i++) if($i~/get_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
     cached_abs_vars=`cat $T/build/envsetup.sh | tr '()' '  ' | awk '{for(i=1;i<=NF;i++) if($i~/get_abs_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
     # Call the build system to dump the "<val>=<value>" pairs as a shell script.
-    build_dicts_script=`\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
-                        command make --no-print-directory -f build/core/config.mk \
-                        dump-many-vars \
-                        DUMP_MANY_VARS="$cached_vars" \
-                        DUMP_MANY_ABS_VARS="$cached_abs_vars" \
-                        DUMP_VAR_PREFIX="var_cache_" \
-                        DUMP_ABS_VAR_PREFIX="abs_var_cache_"`
+    build_dicts_script=`\cd $T; build/soong/soong_ui.bash --dumpvars-mode \
+                        --vars="$cached_vars" \
+                        --abs-vars="$cached_abs_vars" \
+                        --var-prefix=var_cache_ \
+                        --abs-var-prefix=abs_var_cache_`
     local ret=$?
     if [ $ret -ne 0 ]
     then
         unset build_dicts_script
         return $ret
     fi
-    # Excute the script to store the "<val>=<value>" pairs as shell variables.
+    # Execute the script to store the "<val>=<value>" pairs as shell variables.
     eval "$build_dicts_script"
     ret=$?
     unset build_dicts_script
@@ -105,8 +103,7 @@
         echo "Couldn't locate the top of the tree.  Try setting TOP." >&2
         return
     fi
-    (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
-      command make --no-print-directory -f build/core/config.mk dumpvar-abs-$1)
+    (\cd $T; build/soong/soong_ui.bash --dumpvar-mode --abs $1)
 }
 
 # Get the exact value of a build variable.
@@ -123,8 +120,7 @@
         echo "Couldn't locate the top of the tree.  Try setting TOP." >&2
         return
     fi
-    (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
-      command make --no-print-directory -f build/core/config.mk dumpvar-$1)
+    (\cd $T; build/soong/soong_ui.bash --dumpvar-mode $1)
 }
 
 # check to see if the supplied product is one we can build
diff --git a/target/product/base.mk b/target/product/base.mk
index 0e3647d..a182f18 100644
--- a/target/product/base.mk
+++ b/target/product/base.mk
@@ -150,7 +150,8 @@
 PRODUCT_PACKAGES_DEBUG := \
     logpersist.start \
     perfprofd \
-    sqlite3
+    sqlite3 \
+    strace
 
 PRODUCT_COPY_FILES := $(call add-to-product-copy-files-if-exists,\
     frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)
diff --git a/tools/post_process_props.py b/tools/post_process_props.py
index 83c6f9a..2d9451e 100755
--- a/tools/post_process_props.py
+++ b/tools/post_process_props.py
@@ -64,7 +64,7 @@
   buildprops = prop.to_dict()
   for key, value in buildprops.iteritems():
     # Check build properties' length.
-    if len(value) > PROP_VALUE_MAX:
+    if len(value) > PROP_VALUE_MAX and not key.startswith("ro."):
       check_pass = False
       sys.stderr.write("error: %s cannot exceed %d bytes: " %
                        (key, PROP_VALUE_MAX))
