Snap for 10453563 from 1b6ff55c18b2fcfa6fa1ad2dcc2003b2252a739b to mainline-ipsec-release

Change-Id: I8a690e6f2963308c9281efc21085e213a02d588d
diff --git a/Android.bp b/Android.bp
index 1ca91b3..8eee93b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -132,7 +132,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.neuralnetworks",
-        "com.android.bluetooth",
+        "com.android.btservices",
         "com.android.media",
         "com.android.media.swcodec",
         "com.android.tethering",
@@ -150,4 +150,12 @@
             },
         },
     },
+    arch: {
+        // TODO(b/254713216): undefined symbol in BufferedTextOutput::getBuffer
+        riscv64: {
+            lto: {
+                thin: false,
+            },
+        },
+    },
 }
diff --git a/IPCThreadState.cpp b/IPCThreadState.cpp
index aa050fc..8631644 100644
--- a/IPCThreadState.cpp
+++ b/IPCThreadState.cpp
@@ -1147,7 +1147,7 @@
                 tr.offsets_size/sizeof(binder_size_t), freeBuffer, this);
 
             const void* origServingStackPointer = mServingStackPointer;
-            mServingStackPointer = &origServingStackPointer; // anything on the stack
+            mServingStackPointer = __builtin_frame_address(0);
 
             const pid_t origPid = mCallingPid;
             const char* origSid = mCallingSid;
diff --git a/vts/performance/Benchmark_throughput.cpp b/vts/performance/Benchmark_throughput.cpp
index d197d2d..9011ba4 100644
--- a/vts/performance/Benchmark_throughput.cpp
+++ b/vts/performance/Benchmark_throughput.cpp
@@ -261,12 +261,12 @@
     pid_t pid = fork();
     if (pid) {
         /* parent */
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     } else {
         /* child */
-        service_fx(service_name, move(get<1>(pipe_pair)));
+        service_fx(service_name, std::move(get<1>(pipe_pair)));
         /* never get here */
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     }
 }
 
@@ -275,13 +275,13 @@
     pid_t pid = fork();
     if (pid) {
         /* parent */
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     } else {
         /* child */
         worker_fx(num, iterations, service_count, get_stub,
-                  move(get<1>(pipe_pair)));
+                  std::move(get<1>(pipe_pair)));
         /* never get here */
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     }
 }
 
diff --git a/vts/performance/Latency.cpp b/vts/performance/Latency.cpp
index 13a93ad..c63602d 100644
--- a/vts/performance/Latency.cpp
+++ b/vts/performance/Latency.cpp
@@ -162,14 +162,14 @@
     pid_t pid = fork();
     if (pid) {
         // parent
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     } else {
         threadDumpPri("service");
         // child
-        serviceFx(service_name, move(get<1>(pipe_pair)));
+        serviceFx(service_name, std::move(get<1>(pipe_pair)));
         // never get here
         ASSERT(0);
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     }
 }
 
@@ -241,14 +241,14 @@
     pid_t pid = fork();
     if (pid) {
         // parent
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     } else {
         // child
         threadDumpPri("client");
-        clientFx(num, no_pair, iterations, move(get<1>(pipe_pair)));
+        clientFx(num, no_pair, iterations, std::move(get<1>(pipe_pair)));
         // never get here
         ASSERT(0);
-        return move(get<0>(pipe_pair));
+        return std::move(get<0>(pipe_pair));
     }
 }