Add missing SMP barriers to libstdc++

Change-Id: I20a8dcd2e3316ac60237e800c682cacc8e59e187
diff --git a/libstdc++/Android.mk b/libstdc++/Android.mk
index df97c9f..8bc181f 100644
--- a/libstdc++/Android.mk
+++ b/libstdc++/Android.mk
@@ -1,4 +1,15 @@
 LOCAL_PATH:= $(call my-dir)
+
+# Common C++ flags to build this library.
+# Note that we need to access private Bionic headers
+# and define ANDROID_SMP accordingly.
+libstdc++_cflags := -Ibionic/libc/private
+ifeq ($(TARGET_CPU_SMP),true)
+    libstdc++_cflags += -DANDROID_SMP=1
+else
+    libstdc++_cflags += -DANDROID_SMP=0
+endif
+
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:= \
@@ -9,6 +20,8 @@
 
 LOCAL_MODULE:= libstdc++
 
+LOCAL_CFLAGS := $(libstdc++_cflags)
+
 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
 
 include $(BUILD_SHARED_LIBRARY)
@@ -21,6 +34,8 @@
 	src/pure_virtual.cpp \
 	src/typeinfo.cpp
 
+LOCAL_CFLAGS := $(libstdc++_cflags)
+
 LOCAL_MODULE:= libstdc++
 
 LOCAL_SYSTEM_SHARED_LIBRARIES := libc