Merge "Always cancel requests during tearDown"
diff --git a/Tethering/common/TetheringLib/cronet_enabled/api/current.txt b/Tethering/common/TetheringLib/cronet_enabled/api/current.txt
index c0157b7..c1af24a 100644
--- a/Tethering/common/TetheringLib/cronet_enabled/api/current.txt
+++ b/Tethering/common/TetheringLib/cronet_enabled/api/current.txt
@@ -31,7 +31,7 @@
public abstract class HttpEngine {
method public abstract java.net.URLStreamHandlerFactory createURLStreamHandlerFactory();
- method public abstract String getVersionString();
+ method public static String getVersionString();
method public abstract android.net.http.UrlRequest.Builder newUrlRequestBuilder(String, android.net.http.UrlRequest.Callback, java.util.concurrent.Executor);
method public abstract java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
method public abstract void shutdown();
diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
index 98a3b1d..22d6e4d 100644
--- a/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
+++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
@@ -2678,35 +2678,47 @@
public void testUpstreamNetworkChanged() {
final Tethering.TetherMainSM stateMachine = (Tethering.TetherMainSM)
mTetheringDependencies.mUpstreamNetworkMonitorSM;
+ final InOrder inOrder = inOrder(mNotificationUpdater);
+
// Gain upstream.
final UpstreamNetworkState upstreamState = buildMobileIPv4UpstreamState();
initTetheringUpstream(upstreamState);
stateMachine.chooseUpstreamType(true);
mTetheringEventCallback.expectUpstreamChanged(upstreamState.network);
- verify(mNotificationUpdater)
+ inOrder.verify(mNotificationUpdater)
.onUpstreamCapabilitiesChanged(upstreamState.networkCapabilities);
+ // Set the upstream with the same network ID but different object.
+ final UpstreamNetworkState upstreamState2 = buildMobileIPv4UpstreamState();
+ initTetheringUpstream(upstreamState2);
+ stateMachine.chooseUpstreamType(true);
+ // Bug: duplicated upstream change event.
+ mTetheringEventCallback.expectUpstreamChanged(upstreamState2.network);
+ inOrder.verify(mNotificationUpdater)
+ .onUpstreamCapabilitiesChanged(upstreamState2.networkCapabilities);
+
// Lose upstream.
initTetheringUpstream(null);
stateMachine.chooseUpstreamType(true);
mTetheringEventCallback.expectUpstreamChanged(NULL_NETWORK);
- verify(mNotificationUpdater).onUpstreamCapabilitiesChanged(null);
+ inOrder.verify(mNotificationUpdater).onUpstreamCapabilitiesChanged(null);
}
@Test
public void testUpstreamCapabilitiesChanged() {
final Tethering.TetherMainSM stateMachine = (Tethering.TetherMainSM)
mTetheringDependencies.mUpstreamNetworkMonitorSM;
+ final InOrder inOrder = inOrder(mNotificationUpdater);
final UpstreamNetworkState upstreamState = buildMobileIPv4UpstreamState();
initTetheringUpstream(upstreamState);
+
stateMachine.chooseUpstreamType(true);
+ inOrder.verify(mNotificationUpdater)
+ .onUpstreamCapabilitiesChanged(upstreamState.networkCapabilities);
stateMachine.handleUpstreamNetworkMonitorCallback(EVENT_ON_CAPABILITIES, upstreamState);
- // Should have two onUpstreamCapabilitiesChanged().
- // One is called by reportUpstreamChanged(). One is called by EVENT_ON_CAPABILITIES.
- verify(mNotificationUpdater, times(2))
+ inOrder.verify(mNotificationUpdater)
.onUpstreamCapabilitiesChanged(upstreamState.networkCapabilities);
- reset(mNotificationUpdater);
// Verify that onUpstreamCapabilitiesChanged won't be called if not current upstream network
// capabilities changed.
@@ -2714,7 +2726,7 @@
upstreamState.linkProperties, upstreamState.networkCapabilities,
new Network(WIFI_NETID));
stateMachine.handleUpstreamNetworkMonitorCallback(EVENT_ON_CAPABILITIES, upstreamState2);
- verify(mNotificationUpdater, never()).onUpstreamCapabilitiesChanged(any());
+ inOrder.verify(mNotificationUpdater, never()).onUpstreamCapabilitiesChanged(any());
}
@Test
diff --git a/framework/src/android/net/ConnectivityManager.java b/framework/src/android/net/ConnectivityManager.java
index 17389b4..79c94ab 100644
--- a/framework/src/android/net/ConnectivityManager.java
+++ b/framework/src/android/net/ConnectivityManager.java
@@ -1502,6 +1502,22 @@
}
/**
+ * Temporarily set automaticOnOff keeplaive TCP polling alarm timer to 1 second.
+ *
+ * TODO: Remove this when the TCP polling design is replaced with callback.
+ * @param timeMs The time of expiry, with System.currentTimeMillis() base. The value should be
+ * set no more than 5 minutes in the future.
+ * @hide
+ */
+ public void setTestLowTcpPollingTimerForKeepalive(long timeMs) {
+ try {
+ mService.setTestLowTcpPollingTimerForKeepalive(timeMs);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Informs ConnectivityService of whether the legacy lockdown VPN, as implemented by
* LockdownVpnTracker, is in use. This is deprecated for new devices starting from Android 12
* but is still supported for backwards compatibility.
@@ -2213,9 +2229,13 @@
/** The requested keepalive was successfully started. */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void onStarted() {}
+ /** The keepalive was resumed after being paused by the system. */
+ public void onResumed() {}
/** The keepalive was successfully stopped. */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void onStopped() {}
+ /** The keepalive was paused automatically by the system. */
+ public void onPaused() {}
/** An error occurred. */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void onError(int error) {}
@@ -2314,6 +2334,18 @@
}
@Override
+ public void onResumed() {
+ final long token = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> {
+ callback.onResumed();
+ });
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ }
+
+ @Override
public void onStopped() {
final long token = Binder.clearCallingIdentity();
try {
@@ -2327,6 +2359,19 @@
}
@Override
+ public void onPaused() {
+ final long token = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> {
+ callback.onPaused();
+ });
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ mExecutor.shutdown();
+ }
+
+ @Override
public void onError(int error) {
final long token = Binder.clearCallingIdentity();
try {
diff --git a/framework/src/android/net/IConnectivityManager.aidl b/framework/src/android/net/IConnectivityManager.aidl
index acbc31e..c8f588d 100644
--- a/framework/src/android/net/IConnectivityManager.aidl
+++ b/framework/src/android/net/IConnectivityManager.aidl
@@ -251,4 +251,6 @@
IBinder getCompanionDeviceManagerProxyService();
void setVpnNetworkPreference(String session, in UidRange[] ranges);
+
+ void setTestLowTcpPollingTimerForKeepalive(long timeMs);
}
diff --git a/framework/src/android/net/ISocketKeepaliveCallback.aidl b/framework/src/android/net/ISocketKeepaliveCallback.aidl
index 1240e37..0a1de6c 100644
--- a/framework/src/android/net/ISocketKeepaliveCallback.aidl
+++ b/framework/src/android/net/ISocketKeepaliveCallback.aidl
@@ -31,4 +31,8 @@
void onError(int error);
/** The keepalive on a TCP socket was stopped because the socket received data. */
void onDataReceived();
+ /** The keepalive was paused by the system because it's not necessary right now. */
+ void onPaused();
+ /** The keepalive was resumed by the system after being suspended. */
+ void onResumed();
}
diff --git a/framework/src/android/net/SocketKeepalive.java b/framework/src/android/net/SocketKeepalive.java
index 2911ce7..00104f6 100644
--- a/framework/src/android/net/SocketKeepalive.java
+++ b/framework/src/android/net/SocketKeepalive.java
@@ -64,6 +64,12 @@
public static final int SUCCESS = 0;
/**
+ * Success when trying to suspend.
+ * @hide
+ */
+ public static final int SUCCESS_PAUSED = 1;
+
+ /**
* No keepalive. This should only be internally as it indicates There is no keepalive.
* It should not propagate to applications.
* @hide
@@ -271,6 +277,18 @@
}
@Override
+ public void onResumed() {
+ final long token = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> {
+ callback.onResumed();
+ });
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ }
+
+ @Override
public void onStopped() {
final long token = Binder.clearCallingIdentity();
try {
@@ -283,6 +301,18 @@
}
@Override
+ public void onPaused() {
+ final long token = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> {
+ callback.onPaused();
+ });
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ }
+
+ @Override
public void onError(int error) {
final long token = Binder.clearCallingIdentity();
try {
@@ -387,8 +417,18 @@
public static class Callback {
/** The requested keepalive was successfully started. */
public void onStarted() {}
+ /**
+ * The keepalive was resumed by the system after being suspended.
+ * @hide
+ **/
+ public void onResumed() {}
/** The keepalive was successfully stopped. */
public void onStopped() {}
+ /**
+ * The keepalive was paused by the system because it's not necessary right now.
+ * @hide
+ **/
+ public void onPaused() {}
/** An error occurred. */
public void onError(@ErrorCode int error) {}
/** The keepalive on a TCP socket was stopped because the socket received data. This is
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java
index a570ab1..24dcf28 100755
--- a/service/src/com/android/server/ConnectivityService.java
+++ b/service/src/com/android/server/ConnectivityService.java
@@ -766,6 +766,11 @@
private static final int EVENT_SET_VPN_NETWORK_PREFERENCE = 59;
/**
+ * Event to use low TCP polling timer used in automatic on/off keepalive temporarily.
+ */
+ private static final int EVENT_SET_LOW_TCP_POLLING_UNTIL = 60;
+
+ /**
* Argument for {@link #EVENT_PROVISIONING_NOTIFICATION} to indicate that the notification
* should be shown.
*/
@@ -783,6 +788,12 @@
private static final long MAX_TEST_ALLOW_BAD_WIFI_UNTIL_MS = 5 * 60 * 1000L;
/**
+ * The maximum alive time to decrease TCP polling timer in automatic on/off keepalive for
+ * testing.
+ */
+ private static final long MAX_TEST_LOW_TCP_POLLING_UNTIL_MS = 5 * 60 * 1000L;
+
+ /**
* The priority of the tc police rate limiter -- smaller value is higher priority.
* This value needs to be coordinated with PRIO_CLAT, PRIO_TETHER4, and PRIO_TETHER6.
*/
@@ -5001,6 +5012,22 @@
mHandler.obtainMessage(EVENT_SET_TEST_ALLOW_BAD_WIFI_UNTIL, timeMs));
}
+ @Override
+ public void setTestLowTcpPollingTimerForKeepalive(long timeMs) {
+ enforceSettingsPermission();
+ if (!Build.isDebuggable()) {
+ throw new IllegalStateException("Is not supported in non-debuggable build");
+ }
+
+ if (timeMs > System.currentTimeMillis() + MAX_TEST_LOW_TCP_POLLING_UNTIL_MS) {
+ throw new IllegalArgumentException("Argument should not exceed "
+ + MAX_TEST_LOW_TCP_POLLING_UNTIL_MS + "ms from now");
+ }
+
+ mHandler.sendMessage(
+ mHandler.obtainMessage(EVENT_SET_LOW_TCP_POLLING_UNTIL, timeMs));
+ }
+
private void handleSetAcceptUnvalidated(Network network, boolean accept, boolean always) {
if (DBG) log("handleSetAcceptUnvalidated network=" + network +
" accept=" + accept + " always=" + always);
@@ -5642,6 +5669,11 @@
case EVENT_SET_VPN_NETWORK_PREFERENCE:
handleSetVpnNetworkPreference((VpnNetworkPreferenceInfo) msg.obj);
break;
+ case EVENT_SET_LOW_TCP_POLLING_UNTIL: {
+ final long time = ((Long) msg.obj).longValue();
+ mKeepaliveTracker.handleSetTestLowTcpPollingTimer(time);
+ break;
+ }
}
}
}
diff --git a/service/src/com/android/server/connectivity/AutomaticOnOffKeepaliveTracker.java b/service/src/com/android/server/connectivity/AutomaticOnOffKeepaliveTracker.java
index 8bfbcf7..b30f649 100644
--- a/service/src/com/android/server/connectivity/AutomaticOnOffKeepaliveTracker.java
+++ b/service/src/com/android/server/connectivity/AutomaticOnOffKeepaliveTracker.java
@@ -18,7 +18,7 @@
import static android.net.NetworkAgent.CMD_START_SOCKET_KEEPALIVE;
import static android.net.SocketKeepalive.ERROR_INVALID_SOCKET;
-import static android.net.SocketKeepalive.SUCCESS;
+import static android.net.SocketKeepalive.SUCCESS_PAUSED;
import static android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY;
import static android.system.OsConstants.AF_INET;
import static android.system.OsConstants.AF_INET6;
@@ -98,6 +98,7 @@
"com.android.server.connectivity.KeepaliveTracker.TCP_POLLING_ALARM";
private static final String EXTRA_BINDER_TOKEN = "token";
private static final long DEFAULT_TCP_POLLING_INTERVAL_MS = 120_000L;
+ private static final long LOW_TCP_POLLING_INTERVAL_MS = 1_000L;
private static final String AUTOMATIC_ON_OFF_KEEPALIVE_VERSION =
"automatic_on_off_keepalive_version";
/**
@@ -156,6 +157,8 @@
* This should be only updated in ConnectivityService handler thread.
*/
private final ArrayList<AutomaticOnOffKeepalive> mAutomaticOnOffKeepalives = new ArrayList<>();
+ // TODO: Remove this when TCP polling design is replaced with callback.
+ private long mTestLowTcpPollingTimerUntilMs = 0;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
@@ -182,7 +185,7 @@
* resumed if a TCP socket is open on the VPN.
* See the documentation for the states for more detail.
*/
- public class AutomaticOnOffKeepalive {
+ public class AutomaticOnOffKeepalive implements IBinder.DeathRecipient {
@NonNull
private final KeepaliveTracker.KeepaliveInfo mKi;
@NonNull
@@ -239,6 +242,18 @@
return BinderUtils.withCleanCallingIdentity(() -> PendingIntent.getBroadcast(
context, 0 /* requestCode */, intent, PendingIntent.FLAG_IMMUTABLE));
}
+
+ @Override
+ public void binderDied() {
+ mConnectivityServiceHandler.post(() -> cleanupAutoOnOffKeepalive(this));
+ }
+
+ /** Close this automatic on/off keepalive */
+ public void close() {
+ // Close the duplicated fd that maintains the lifecycle of socket. If this fd was
+ // not duplicated this is a no-op.
+ FileUtils.closeQuietly(mFd);
+ }
}
public AutomaticOnOffKeepaliveTracker(@NonNull Context context, @NonNull Handler handler) {
@@ -264,7 +279,7 @@
private void startTcpPollingAlarm(@NonNull PendingIntent alarm) {
final long triggerAtMillis =
- SystemClock.elapsedRealtime() + DEFAULT_TCP_POLLING_INTERVAL_MS;
+ SystemClock.elapsedRealtime() + getTcpPollingInterval();
// Setup a non-wake up alarm.
mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME, triggerAtMillis, alarm);
}
@@ -297,7 +312,7 @@
// SUSPENDED.
if (ki.mAutomaticOnOffState == STATE_ENABLED) {
ki.mAutomaticOnOffState = STATE_SUSPENDED;
- handleSuspendKeepalive(ki.mKi);
+ handlePauseKeepalive(ki.mKi);
}
} else {
handleMaybeResumeKeepalive(ki);
@@ -374,6 +389,13 @@
mKeepaliveTracker.handleStartKeepalive(autoKi.mKi);
// Add automatic on/off request into list to track its life cycle.
+ try {
+ autoKi.mKi.mCallback.asBinder().linkToDeath(autoKi, 0);
+ } catch (RemoteException e) {
+ // The underlying keepalive performs its own cleanup
+ autoKi.binderDied();
+ return;
+ }
mAutomaticOnOffKeepalives.add(autoKi);
if (STATE_ALWAYS_ON != autoKi.mAutomaticOnOffState) {
startTcpPollingAlarm(autoKi.mTcpPollingAlarm);
@@ -384,10 +406,9 @@
mKeepaliveTracker.handleStartKeepalive(ki);
}
- private void handleSuspendKeepalive(@NonNull final KeepaliveTracker.KeepaliveInfo ki) {
+ private void handlePauseKeepalive(@NonNull final KeepaliveTracker.KeepaliveInfo ki) {
// TODO : mKT.handleStopKeepalive should take a KeepaliveInfo instead
- // TODO : create a separate success code for suspend
- mKeepaliveTracker.handleStopKeepalive(ki.getNai(), ki.getSlot(), SUCCESS);
+ mKeepaliveTracker.handleStopKeepalive(ki.getNai(), ki.getSlot(), SUCCESS_PAUSED);
}
/**
@@ -399,6 +420,8 @@
if (autoKi.mAutomaticOnOffState != STATE_SUSPENDED) {
final KeepaliveTracker.KeepaliveInfo ki = autoKi.mKi;
mKeepaliveTracker.handleStopKeepalive(ki.getNai(), ki.getSlot(), reason);
+ } else {
+ mKeepaliveTracker.finalizePausedKeepalive(autoKi.mKi);
}
cleanupAutoOnOffKeepalive(autoKi);
@@ -406,10 +429,15 @@
private void cleanupAutoOnOffKeepalive(@NonNull final AutomaticOnOffKeepalive autoKi) {
ensureRunningOnHandlerThread();
+ autoKi.close();
if (null != autoKi.mTcpPollingAlarm) mAlarmManager.cancel(autoKi.mTcpPollingAlarm);
- // Close the duplicated fd that maintains the lifecycle of socket.
- FileUtils.closeQuietly(autoKi.mFd);
- mAutomaticOnOffKeepalives.remove(autoKi);
+
+ // If the KI is not in the array, it's because it was already removed, or it was never
+ // added ; the only ways this can happen is if the keepalive is stopped by the app and the
+ // app dies immediately, or if the app died before the link to death could be registered.
+ if (!mAutomaticOnOffKeepalives.remove(autoKi)) return;
+
+ autoKi.mKi.mCallback.asBinder().unlinkToDeath(autoKi, 0);
}
/**
@@ -632,6 +660,20 @@
}
}
+ private long getTcpPollingInterval() {
+ final boolean useLowTimer = mTestLowTcpPollingTimerUntilMs > System.currentTimeMillis();
+ return useLowTimer ? LOW_TCP_POLLING_INTERVAL_MS : DEFAULT_TCP_POLLING_INTERVAL_MS;
+ }
+
+ /**
+ * Temporarily use low TCP polling timer for testing.
+ * The value works when the time set is more than {@link System.currentTimeMillis()}.
+ */
+ public void handleSetTestLowTcpPollingTimer(long timeMs) {
+ Log.d(TAG, "handleSetTestLowTcpPollingTimer: " + timeMs);
+ mTestLowTcpPollingTimerUntilMs = timeMs;
+ }
+
/**
* Dependencies class for testing.
*/
diff --git a/service/src/com/android/server/connectivity/KeepaliveTracker.java b/service/src/com/android/server/connectivity/KeepaliveTracker.java
index a512b7c..5572361 100644
--- a/service/src/com/android/server/connectivity/KeepaliveTracker.java
+++ b/service/src/com/android/server/connectivity/KeepaliveTracker.java
@@ -32,6 +32,7 @@
import static android.net.SocketKeepalive.MIN_INTERVAL_SEC;
import static android.net.SocketKeepalive.NO_KEEPALIVE;
import static android.net.SocketKeepalive.SUCCESS;
+import static android.net.SocketKeepalive.SUCCESS_PAUSED;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -134,6 +135,9 @@
public final NetworkAgentInfo mNai;
private final int mType;
public final FileDescriptor mFd;
+ // True if this was resumed from a previously turned off keepalive, otherwise false.
+ // This is necessary to send the correct callbacks.
+ public final boolean mResumed;
public static final int TYPE_NATT = 1;
public static final int TYPE_TCP = 2;
@@ -160,6 +164,16 @@
int interval,
int type,
@Nullable FileDescriptor fd) throws InvalidSocketException {
+ this(callback, nai, packet, interval, type, fd, false /* resumed */);
+ }
+
+ KeepaliveInfo(@NonNull ISocketKeepaliveCallback callback,
+ @NonNull NetworkAgentInfo nai,
+ @NonNull KeepalivePacketData packet,
+ int interval,
+ int type,
+ @Nullable FileDescriptor fd,
+ boolean resumed) throws InvalidSocketException {
mCallback = callback;
mPid = Binder.getCallingPid();
mUid = Binder.getCallingUid();
@@ -169,6 +183,7 @@
mPacket = packet;
mInterval = interval;
mType = type;
+ mResumed = resumed;
// For SocketKeepalive, a dup of fd is kept in mFd so the source port from which the
// keepalives are sent cannot be reused by another app even if the fd gets closed by
@@ -232,6 +247,8 @@
/** Called when the application process is killed. */
public void binderDied() {
+ // TODO b/267106526 : this is not called on the handler thread but stop() happily
+ // assumes it is, which means this is a pretty dangerous race condition.
stop(BINDER_DIED);
}
@@ -327,6 +344,10 @@
}
void start(int slot) {
+ // BINDER_DIED can happen if the binder died before the KeepaliveInfo was created and
+ // the constructor set the state to BINDER_DIED. If that's the case, the KI is already
+ // cleaned up.
+ if (BINDER_DIED == mStartedState) return;
mSlot = slot;
int error = isValid();
if (error == SUCCESS) {
@@ -371,7 +392,10 @@
// To prevent races from re-entrance of stop(), return if the state is already stopping.
// This might happen if multiple event sources stop keepalive in a short time. Such as
// network disconnect after user calls stop(), or tear down socket after binder died.
- if (mStartedState == STOPPING) return;
+ // Note that it's always possible this method is called by the auto keepalive timer
+ // or any other way after the binder died, hence the check for BINDER_DIED. If the
+ // binder has died, then the KI has already been cleaned up.
+ if (mStartedState == STOPPING || mStartedState == BINDER_DIED) return;
// Store the reason of stopping, and report it after the keepalive is fully stopped.
if (mStopReason != ERROR_STOP_REASON_UNINITIALIZED) {
@@ -382,9 +406,10 @@
+ ": " + reason);
switch (mStartedState) {
case NOT_STARTED:
- // Remove the reference of the keepalive that meet error before starting,
+ // Remove the reference to this keepalive that had an error before starting,
// e.g. invalid parameter.
cleanupStoppedKeepalive(mNai, mSlot);
+ if (BINDER_DIED == reason) mStartedState = BINDER_DIED;
break;
default:
mStartedState = STOPPING;
@@ -422,7 +447,8 @@
* Construct a new KeepaliveInfo from existing KeepaliveInfo with a new fd.
*/
public KeepaliveInfo withFd(@NonNull FileDescriptor fd) throws InvalidSocketException {
- return new KeepaliveInfo(mCallback, mNai, mPacket, mInterval, mType, fd);
+ return new KeepaliveInfo(mCallback, mNai, mPacket, mInterval, mType, fd,
+ true /* resumed */);
}
}
@@ -523,6 +549,12 @@
} catch (RemoteException e) {
Log.w(TAG, "Discarded onStop callback: " + reason);
}
+ } else if (reason == SUCCESS_PAUSED) {
+ try {
+ ki.mCallback.onPaused();
+ } catch (RemoteException e) {
+ Log.w(TAG, "Discarded onPaused callback: " + reason);
+ }
} else if (reason == DATA_RECEIVED) {
try {
ki.mCallback.onDataReceived();
@@ -540,6 +572,25 @@
ki.unlinkDeathRecipient();
}
+ /**
+ * Finalize a paused keepalive.
+ *
+ * This will simply send the onStopped() callback after checking that this keepalive is
+ * indeed paused.
+ *
+ * @param ki the keepalive to finalize
+ */
+ public void finalizePausedKeepalive(@NonNull final KeepaliveInfo ki) {
+ if (SUCCESS_PAUSED != ki.mStopReason) {
+ throw new IllegalStateException("Keepalive is not paused");
+ }
+ try {
+ ki.mCallback.onStopped();
+ } catch (RemoteException e) {
+ Log.w(TAG, "Discarded onStopped callback while finalizing paused keepalive");
+ }
+ }
+
public void handleCheckKeepalivesStillValid(NetworkAgentInfo nai) {
HashMap <Integer, KeepaliveInfo> networkKeepalives = mKeepalives.get(nai);
if (networkKeepalives != null) {
@@ -589,9 +640,14 @@
Log.d(TAG, "Started keepalive " + slot + " on " + nai.toShortString());
ki.mStartedState = KeepaliveInfo.STARTED;
try {
- ki.mCallback.onStarted();
+ if (ki.mResumed) {
+ ki.mCallback.onResumed();
+ } else {
+ ki.mCallback.onStarted();
+ }
} catch (RemoteException e) {
- Log.w(TAG, "Discarded onStarted callback");
+ Log.w(TAG, "Discarded " + (ki.mResumed ? "onResumed" : "onStarted")
+ + " callback for slot " + slot);
}
} else {
Log.d(TAG, "Failed to start keepalive " + slot + " on " + nai.toShortString()
diff --git a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt
index 7ae4688..f578ff3 100644
--- a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt
+++ b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt
@@ -506,9 +506,7 @@
val lp = LinkProperties(agent.lp)
lp.setInterfaceName(ifaceName)
agent.sendLinkProperties(lp)
- callback.expectLinkPropertiesThat(agent.network!!) {
- it.getInterfaceName() == ifaceName
- }
+ callback.expect<LinkPropertiesChanged>(agent.network!!) { it.lp.interfaceName == ifaceName }
val nc = NetworkCapabilities(agent.nc)
nc.addCapability(NET_CAPABILITY_NOT_METERED)
agent.sendNetworkCapabilities(nc)
diff --git a/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt b/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt
index cf3f375..3c1340d 100644
--- a/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt
+++ b/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt
@@ -53,6 +53,7 @@
import com.android.server.connectivity.MockableSystemProperties
import com.android.server.connectivity.MultinetworkPolicyTracker
import com.android.server.connectivity.ProxyTracker
+import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged
import com.android.testutils.TestableNetworkCallback
import org.junit.After
import org.junit.Before
@@ -73,7 +74,6 @@
import org.mockito.MockitoAnnotations
import org.mockito.Spy
import kotlin.test.assertEquals
-import kotlin.test.assertNotNull
import kotlin.test.assertTrue
import kotlin.test.fail
@@ -288,10 +288,9 @@
testCb.expectAvailableCallbacks(na.network, validated = false, tmt = TEST_TIMEOUT_MS)
- val capportData = testCb.expectLinkPropertiesThat(na, TEST_TIMEOUT_MS) {
- it.captivePortalData != null
+ val capportData = testCb.expect<LinkPropertiesChanged>(na, TEST_TIMEOUT_MS) {
+ it.lp.captivePortalData != null
}.lp.captivePortalData
- assertNotNull(capportData)
assertTrue(capportData.isCaptive)
assertEquals(Uri.parse("https://login.capport.android.com"), capportData.userPortalUrl)
assertEquals(Uri.parse("https://venueinfo.capport.android.com"), capportData.venueInfoUrl)
diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java
index a1186a3..668d4cd 100755
--- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java
@@ -3224,17 +3224,17 @@
final Uri expectedCapportUrl = sanitized ? null : capportUrl;
newLp.setCaptivePortalApiUrl(capportUrl);
mWiFiAgent.sendLinkProperties(newLp);
- callback.expectLinkPropertiesThat(mWiFiAgent, lp ->
- Objects.equals(expectedCapportUrl, lp.getCaptivePortalApiUrl()));
- defaultCallback.expectLinkPropertiesThat(mWiFiAgent, lp ->
- Objects.equals(expectedCapportUrl, lp.getCaptivePortalApiUrl()));
+ callback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent, cb ->
+ Objects.equals(expectedCapportUrl, cb.getLp().getCaptivePortalApiUrl()));
+ defaultCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent, cb ->
+ Objects.equals(expectedCapportUrl, cb.getLp().getCaptivePortalApiUrl()));
final CaptivePortalData expectedCapportData = sanitized ? null : capportData;
mWiFiAgent.notifyCapportApiDataChanged(capportData);
- callback.expectLinkPropertiesThat(mWiFiAgent, lp ->
- Objects.equals(expectedCapportData, lp.getCaptivePortalData()));
- defaultCallback.expectLinkPropertiesThat(mWiFiAgent, lp ->
- Objects.equals(expectedCapportData, lp.getCaptivePortalData()));
+ callback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent, cb ->
+ Objects.equals(expectedCapportData, cb.getLp().getCaptivePortalData()));
+ defaultCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent, cb ->
+ Objects.equals(expectedCapportData, cb.getLp().getCaptivePortalData()));
final LinkProperties lp = mCm.getLinkProperties(mWiFiAgent.getNetwork());
assertEquals(expectedCapportUrl, lp.getCaptivePortalApiUrl());
@@ -4642,15 +4642,16 @@
mWiFiAgent.notifyCapportApiDataChanged(testData);
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> testData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> testData.equals(cb.getLp().getCaptivePortalData()));
final LinkProperties newLps = new LinkProperties();
newLps.setMtu(1234);
mWiFiAgent.sendLinkProperties(newLps);
// CaptivePortalData is not lost and unchanged when LPs are received from the NetworkAgent
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> testData.equals(lp.getCaptivePortalData()) && lp.getMtu() == 1234);
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> testData.equals(cb.getLp().getCaptivePortalData())
+ && cb.getLp().getMtu() == 1234);
}
private TestNetworkCallback setupNetworkCallbackAndConnectToWifi() throws Exception {
@@ -4744,8 +4745,8 @@
// Baseline capport data
mWiFiAgent.notifyCapportApiDataChanged(captivePortalTestData.mCapportData);
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mCapportData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mCapportData.equals(cb.getLp().getCaptivePortalData()));
// Venue URL, T&C URL and friendly name from Network agent with Passpoint source, confirm
// that API data gets precedence on the bytes remaining.
@@ -4754,9 +4755,9 @@
mWiFiAgent.sendLinkProperties(linkProperties);
// Make sure that the capport data is merged
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mExpectedMergedPasspointData
- .equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mExpectedMergedPasspointData.equals(
+ cb.getLp().getCaptivePortalData()));
// Now send this information from non-Passpoint source, confirm that Capport data takes
// precedence
@@ -4764,9 +4765,9 @@
mWiFiAgent.sendLinkProperties(linkProperties);
// Make sure that the capport data is merged
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mExpectedMergedOtherData
- .equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mExpectedMergedOtherData.equals(
+ cb.getLp().getCaptivePortalData()));
// Create a new LP with no Network agent capport data
final LinkProperties newLps = new LinkProperties();
@@ -4774,21 +4775,22 @@
mWiFiAgent.sendLinkProperties(newLps);
// CaptivePortalData is not lost and has the original values when LPs are received from the
// NetworkAgent
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mCapportData.equals(lp.getCaptivePortalData())
- && lp.getMtu() == 1234);
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mCapportData.equals(cb.getLp().getCaptivePortalData())
+ && cb.getLp().getMtu() == 1234);
// Now send capport data only from the Network agent
mWiFiAgent.notifyCapportApiDataChanged(null);
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> lp.getCaptivePortalData() == null);
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> cb.getLp().getCaptivePortalData() == null);
newLps.setCaptivePortalData(captivePortalTestData.mNaPasspointData);
mWiFiAgent.sendLinkProperties(newLps);
// Make sure that only the network agent capport data is available
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mNaPasspointData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mNaPasspointData.equals(
+ cb.getLp().getCaptivePortalData()));
}
@Test
@@ -4803,25 +4805,26 @@
mWiFiAgent.sendLinkProperties(linkProperties);
// Make sure that the data is saved correctly
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mNaPasspointData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mNaPasspointData.equals(
+ cb.getLp().getCaptivePortalData()));
// Expected merged data: Network agent data is preferred, and values that are not used by
// it are merged from capport data
mWiFiAgent.notifyCapportApiDataChanged(captivePortalTestData.mCapportData);
// Make sure that the Capport data is merged correctly
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mExpectedMergedPasspointData.equals(
- lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mExpectedMergedPasspointData.equals(
+ cb.getLp().getCaptivePortalData()));
// Now set the naData to null
linkProperties.setCaptivePortalData(null);
mWiFiAgent.sendLinkProperties(linkProperties);
// Make sure that the Capport data is retained correctly
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mCapportData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mCapportData.equals(cb.getLp().getCaptivePortalData()));
}
@Test
@@ -4837,17 +4840,17 @@
mWiFiAgent.sendLinkProperties(linkProperties);
// Make sure that the data is saved correctly
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mNaOtherData.equals(lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mNaOtherData.equals(cb.getLp().getCaptivePortalData()));
// Expected merged data: Network agent data is preferred, and values that are not used by
// it are merged from capport data
mWiFiAgent.notifyCapportApiDataChanged(captivePortalTestData.mCapportData);
// Make sure that the Capport data is merged correctly
- captivePortalCallback.expectLinkPropertiesThat(mWiFiAgent,
- lp -> captivePortalTestData.mExpectedMergedOtherData.equals(
- lp.getCaptivePortalData()));
+ captivePortalCallback.expect(LINK_PROPERTIES_CHANGED, mWiFiAgent,
+ cb -> captivePortalTestData.mExpectedMergedOtherData.equals(
+ cb.getLp().getCaptivePortalData()));
}
private NetworkRequest.Builder newWifiRequestBuilder() {
@@ -10335,19 +10338,19 @@
// Expect clatd to be stopped and started with the new prefix.
mService.mResolverUnsolEventCallback.onNat64PrefixEvent(makeNat64PrefixEvent(
cellNetId, PREFIX_OPERATION_ADDED, kOtherNat64PrefixString, 96));
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- (lp) -> lp.getStackedLinks().size() == 0);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 0);
verifyClatdStop(null /* inOrder */, MOBILE_IFNAME);
assertRoutesRemoved(cellNetId, stackedDefault);
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_MOBILE_IFNAME);
verifyClatdStart(null /* inOrder */, MOBILE_IFNAME, cellNetId,
kOtherNat64Prefix.toString());
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- (lp) -> lp.getNat64Prefix().equals(kOtherNat64Prefix));
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getNat64Prefix().equals(kOtherNat64Prefix));
clat.interfaceLinkStateChanged(CLAT_MOBILE_IFNAME, true);
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- (lp) -> lp.getStackedLinks().size() == 1);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 1);
assertRoutesAdded(cellNetId, stackedDefault);
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, CLAT_MOBILE_IFNAME);
reset(mMockNetd);
@@ -10388,7 +10391,8 @@
// Stopping prefix discovery causes netd to tell us that the NAT64 prefix is gone.
mService.mResolverUnsolEventCallback.onNat64PrefixEvent(makeNat64PrefixEvent(
cellNetId, PREFIX_OPERATION_REMOVED, kOtherNat64PrefixString, 96));
- networkCallback.expectLinkPropertiesThat(mCellAgent, lp -> lp.getNat64Prefix() == null);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getNat64Prefix() == null);
// Remove IPv4 address and expect prefix discovery and clatd to be started again.
cellLp.removeLinkAddress(myIpv4);
@@ -10405,22 +10409,24 @@
// Clat iface comes up. Expect stacked link to be added.
clat.interfaceLinkStateChanged(CLAT_MOBILE_IFNAME, true);
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- lp -> lp.getStackedLinks().size() == 1 && lp.getNat64Prefix() != null);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 1
+ && cb.getLp().getNat64Prefix() != null);
assertRoutesAdded(cellNetId, stackedDefault);
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, CLAT_MOBILE_IFNAME);
// NAT64 prefix is removed. Expect that clat is stopped.
mService.mResolverUnsolEventCallback.onNat64PrefixEvent(makeNat64PrefixEvent(
cellNetId, PREFIX_OPERATION_REMOVED, kNat64PrefixString, 96));
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- lp -> lp.getStackedLinks().size() == 0 && lp.getNat64Prefix() == null);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 0
+ && cb.getLp().getNat64Prefix() == null);
assertRoutesRemoved(cellNetId, ipv4Subnet, stackedDefault);
// Stop has no effect because clat is already stopped.
verifyClatdStop(null /* inOrder */, MOBILE_IFNAME);
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- lp -> lp.getStackedLinks().size() == 0);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 0);
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_MOBILE_IFNAME);
verify(mMockNetd, times(1)).interfaceGetCfg(CLAT_MOBILE_IFNAME);
// Clean up.
@@ -10454,9 +10460,9 @@
verifyClatdStart(null /* inOrder */, MOBILE_IFNAME, cellNetId, kNat64Prefix.toString());
clat = getNat464Xlat(mCellAgent);
clat.interfaceLinkStateChanged(CLAT_MOBILE_IFNAME, true /* up */);
- networkCallback.expectLinkPropertiesThat(mCellAgent,
- lp -> lp.getStackedLinks().size() == 1
- && lp.getNat64Prefix().equals(kNat64Prefix));
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ cb -> cb.getLp().getStackedLinks().size() == 1
+ && cb.getLp().getNat64Prefix().equals(kNat64Prefix));
verify(mMockNetd).networkAddInterface(cellNetId, CLAT_MOBILE_IFNAME);
// assertRoutesAdded sees all calls since last mMockNetd reset, so expect IPv6 routes again.
assertRoutesAdded(cellNetId, ipv6Subnet, ipv6Default, stackedDefault);
@@ -10480,7 +10486,8 @@
private void expectNat64PrefixChange(TestNetworkCallback callback,
TestNetworkAgentWrapper agent, IpPrefix prefix) {
- callback.expectLinkPropertiesThat(agent, x -> Objects.equals(x.getNat64Prefix(), prefix));
+ callback.expect(LINK_PROPERTIES_CHANGED, agent,
+ x -> Objects.equals(x.getLp().getNat64Prefix(), prefix));
}
@Test
@@ -12119,7 +12126,8 @@
lp.addRoute(rio1);
lp.addRoute(defaultRoute);
mCellAgent.sendLinkProperties(lp);
- networkCallback.expectLinkPropertiesThat(mCellAgent, x -> x.getRoutes().size() == 3);
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ x -> x.getLp().getRoutes().size() == 3);
assertRoutesAdded(netId, direct, rio1, defaultRoute);
reset(mMockNetd);
@@ -12134,7 +12142,8 @@
assertTrue(lp.getRoutes().contains(defaultWithMtu));
mCellAgent.sendLinkProperties(lp);
- networkCallback.expectLinkPropertiesThat(mCellAgent, x -> x.getRoutes().contains(rio2));
+ networkCallback.expect(LINK_PROPERTIES_CHANGED, mCellAgent,
+ x -> x.getLp().getRoutes().contains(rio2));
assertRoutesRemoved(netId, rio1);
assertRoutesAdded(netId, rio2);
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index d800b80..93443f5 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -263,6 +263,7 @@
"-DHAVE_SYS_UIO_H",
"-DIS_PARTITION_ALLOC_IMPL",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-DPA_PCSCAN_STACK_SUPPORTED",
@@ -275,6 +276,8 @@
"-O3",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -990,6 +993,7 @@
"-DHAVE_SYS_UIO_H",
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-DUSE_CHROMIUM_ICU=1",
@@ -1007,6 +1011,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -1404,6 +1410,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -1415,6 +1422,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -1462,7 +1471,7 @@
cc_genrule {
name: "cronet_aml_base_build_date",
cmd: "$(location build/write_build_date_header.py) $(out) " +
- "1674644139",
+ "1676008584",
out: [
"base/generated_build_date.h",
],
@@ -1525,7 +1534,7 @@
name: "cronet_aml_base_debugging_buildflags",
cmd: "if [[ ( $$CC_ARCH == 'x86_64' && $$CC_OS == 'android' ) ]]; " +
"then " +
- "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+ "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"true\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
"$(location build/write_buildflag_header.py) --output " +
"$(out) " +
"--rulename " +
@@ -1537,7 +1546,7 @@
"fi; " +
"if [[ ( $$CC_ARCH == 'x86' && $$CC_OS == 'android' ) ]]; " +
"then " +
- "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"true\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+ "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"true\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
"$(location build/write_buildflag_header.py) --output " +
"$(out) " +
"--rulename " +
@@ -1549,7 +1558,7 @@
"fi; " +
"if [[ ( $$CC_ARCH == 'arm' && $$CC_OS == 'android' ) ]]; " +
"then " +
- "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"true\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+ "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"true\" EXCLUDE_UNWIND_TABLES=\"true\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
"$(location build/write_buildflag_header.py) --output " +
"$(out) " +
"--rulename " +
@@ -1561,7 +1570,7 @@
"fi; " +
"if [[ ( $$CC_ARCH == 'arm64' && $$CC_OS == 'android' ) ]]; " +
"then " +
- "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"true\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+ "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" FROM_HERE_USES_LOCATION_BUILTINS=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"true\" UNSAFE_DEVELOPER_BUILD=\"false\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"true\" ENABLE_GDBINIT_WARNING=\"false\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"false\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
"$(location build/write_buildflag_header.py) --output " +
"$(out) " +
"--rulename " +
@@ -1747,6 +1756,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -1758,6 +1768,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -1997,6 +2009,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -2008,6 +2021,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -2068,6 +2083,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -2076,6 +2092,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -2351,6 +2369,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DLIBCXX_BUILDING_LIBCXXABI",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -2361,8 +2380,11 @@
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
+ "-g1",
],
local_include_dirs: [
"./",
@@ -2384,7 +2406,6 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
],
},
android_arm64: {
@@ -2394,7 +2415,6 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
"-mno-outline",
"-mno-outline-atomics",
],
@@ -2405,7 +2425,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
"-Oz",
- "-g1",
"-msse3",
],
},
@@ -2416,14 +2435,12 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
"-msse3",
],
},
host: {
cflags: [
"-DCR_SYSROOT_KEY=20220331T153654Z-0",
- "-DNO_UNWIND_TABLES",
"-DUSE_AURA=1",
"-DUSE_OZONE=1",
"-DUSE_UDEV",
@@ -2432,7 +2449,6 @@
"-D_LARGEFILE_SOURCE",
"-O2",
"-fstack-protector",
- "-g2",
"-msse3",
],
},
@@ -2470,6 +2486,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DLIBCXXABI_SILENT_TERMINATE",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -2479,8 +2496,11 @@
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
+ "-g1",
],
local_include_dirs: [
"./",
@@ -2505,7 +2525,6 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
],
},
android_arm64: {
@@ -2518,7 +2537,6 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
"-mno-outline",
"-mno-outline-atomics",
],
@@ -2532,7 +2550,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
"-Oz",
- "-g1",
"-msse3",
],
},
@@ -2546,7 +2563,6 @@
"-DHAVE_SYS_UIO_H",
"-Oz",
"-fstack-protector",
- "-g1",
"-msse3",
],
},
@@ -2556,7 +2572,6 @@
],
cflags: [
"-DCR_SYSROOT_KEY=20220331T153654Z-0",
- "-DNO_UNWIND_TABLES",
"-DUSE_AURA=1",
"-DUSE_OZONE=1",
"-DUSE_UDEV",
@@ -2565,7 +2580,6 @@
"-D_LARGEFILE_SOURCE",
"-O2",
"-fstack-protector",
- "-g2",
"-msse3",
],
},
@@ -2673,6 +2687,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -2684,6 +2699,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -3361,6 +3378,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -3372,6 +3390,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -3746,6 +3766,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -3757,6 +3778,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -3860,6 +3883,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -3871,6 +3895,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -3955,6 +3981,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -3966,6 +3993,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -4107,6 +4136,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -4118,6 +4148,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -4244,6 +4276,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -4255,6 +4288,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -4917,6 +4952,7 @@
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
"-DNET_IMPLEMENTATION",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -4928,6 +4964,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -5040,6 +5078,7 @@
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
"-DNET_IMPLEMENTATION",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -5051,6 +5090,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -5176,6 +5217,7 @@
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
"-DNET_IMPLEMENTATION",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -5187,6 +5229,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -5863,6 +5907,7 @@
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
"-DNET_IMPLEMENTATION",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -5874,6 +5919,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -5990,6 +6037,7 @@
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
"-DNET_IMPLEMENTATION",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -6001,6 +6049,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -6241,6 +6291,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -6252,6 +6303,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -6329,6 +6382,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -6340,6 +6394,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -6853,6 +6909,7 @@
"-DHAVE_SYS_UIO_H",
"-DIS_QUICHE_IMPL",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -6864,6 +6921,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -6949,6 +7008,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -6960,6 +7020,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7034,6 +7096,7 @@
"-DHAVE_SYS_UIO_H",
"-DIS_URI_TEMPLATE_IMPL",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -7045,6 +7108,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7112,6 +7177,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7120,6 +7186,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7177,6 +7245,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7185,6 +7254,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7242,6 +7313,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7250,6 +7322,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7307,6 +7381,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7315,6 +7390,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7372,6 +7449,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7380,6 +7458,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7437,6 +7517,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7445,6 +7526,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7502,6 +7585,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7510,6 +7594,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7568,6 +7654,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7576,6 +7663,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7633,6 +7722,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7641,6 +7731,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7700,6 +7792,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7708,6 +7801,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7765,6 +7860,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7773,6 +7869,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7830,6 +7928,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7838,6 +7937,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7895,6 +7996,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7903,6 +8005,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -7960,6 +8064,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -7968,6 +8073,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8025,6 +8132,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8033,6 +8141,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8090,6 +8200,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8098,6 +8209,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8155,6 +8268,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8163,6 +8277,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8220,6 +8336,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8228,6 +8345,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8285,6 +8404,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8293,6 +8413,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8350,6 +8472,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8358,6 +8481,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8416,6 +8541,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8424,6 +8550,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8484,6 +8612,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8492,6 +8621,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8552,6 +8683,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8560,6 +8692,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8620,6 +8754,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8628,6 +8763,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8688,6 +8825,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8696,6 +8834,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8756,6 +8896,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8764,6 +8905,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8824,6 +8967,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8832,6 +8976,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8889,6 +9035,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8897,6 +9044,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -8954,6 +9103,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -8962,6 +9112,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9022,6 +9174,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9030,6 +9183,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9088,6 +9243,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9096,6 +9252,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9153,6 +9311,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9161,6 +9320,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9220,6 +9381,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9228,6 +9390,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9291,6 +9455,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9299,6 +9464,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9356,6 +9523,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9364,6 +9532,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9421,6 +9591,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9429,6 +9600,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9486,6 +9659,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9494,6 +9668,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9553,6 +9729,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9561,6 +9738,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9623,6 +9802,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9631,6 +9811,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9700,6 +9882,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9708,6 +9891,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9765,6 +9950,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9773,6 +9959,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9836,6 +10024,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9844,6 +10033,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9901,6 +10092,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9909,6 +10101,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -9974,6 +10168,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -9982,6 +10177,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10043,6 +10240,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -10051,6 +10249,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10108,6 +10308,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -10116,6 +10317,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10173,6 +10376,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -10181,6 +10385,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10237,6 +10443,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -10245,6 +10452,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10301,6 +10510,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -10312,6 +10522,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10636,6 +10848,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-DOPENSSL_SMALL",
@@ -10645,6 +10858,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10703,6 +10918,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -10714,6 +10930,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10842,6 +11060,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -10853,6 +11072,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -10920,6 +11141,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -10928,6 +11150,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -11233,6 +11457,7 @@
"-DHAVE_SYS_UIO_H",
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-DUCONFIG_ONLY_HTML_CONVERSION=1",
@@ -11251,6 +11476,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -11514,6 +11741,7 @@
"-DHAVE_SYS_UIO_H",
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-DUCONFIG_ONLY_HTML_CONVERSION=1",
@@ -11533,6 +11761,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -11610,6 +11840,7 @@
"-DHAVE_CONFIG_H",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -11618,6 +11849,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -11824,6 +12057,7 @@
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -11835,6 +12069,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -12001,10 +12237,12 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fstack-protector",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
- "-g2",
+ "-g1",
"-msse3",
],
local_include_dirs: [
@@ -12077,6 +12315,7 @@
"-DHAVE_PTHREAD",
"-DHAVE_SYS_UIO_H",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_GNU_SOURCE",
@@ -12085,6 +12324,8 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
@@ -12174,10 +12415,12 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fstack-protector",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
- "-g2",
+ "-g1",
"-msse3",
],
local_include_dirs: [
@@ -12321,10 +12564,12 @@
"-O2",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fstack-protector",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
- "-g2",
+ "-g1",
"-msse3",
],
local_include_dirs: [
@@ -12434,6 +12679,7 @@
"-DHAVE_SYS_UIO_H",
"-DIS_URL_IMPL",
"-DNDEBUG",
+ "-DNO_UNWIND_TABLES",
"-DNVALGRIND",
"-DOFFICIAL_BUILD",
"-D_FORTIFY_SOURCE=2",
@@ -12445,6 +12691,8 @@
"-Oz",
"-fdata-sections",
"-ffunction-sections",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
"-fvisibility-inlines-hidden",
"-fvisibility=hidden",
"-g1",
diff --git a/tools/gn2bp/desc_arm.json b/tools/gn2bp/desc_arm.json
index f30db26..6f72c94 100644
--- a/tools/gn2bp/desc_arm.json
+++ b/tools/gn2bp/desc_arm.json
Binary files differ
diff --git a/tools/gn2bp/desc_arm64.json b/tools/gn2bp/desc_arm64.json
index 9d220fb..0732834 100644
--- a/tools/gn2bp/desc_arm64.json
+++ b/tools/gn2bp/desc_arm64.json
Binary files differ
diff --git a/tools/gn2bp/desc_x64.json b/tools/gn2bp/desc_x64.json
index 8036bdf..49e5cae 100644
--- a/tools/gn2bp/desc_x64.json
+++ b/tools/gn2bp/desc_x64.json
Binary files differ
diff --git a/tools/gn2bp/desc_x86.json b/tools/gn2bp/desc_x86.json
index 32bea54..51d4153 100644
--- a/tools/gn2bp/desc_x86.json
+++ b/tools/gn2bp/desc_x86.json
Binary files differ
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 9dc5cdb..592c070 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -139,7 +139,9 @@
"-fvisibility-inlines-hidden",
"-fstack-protector",
"-mno-outline",
- "-mno-outline-atomics"
+ "-mno-outline-atomics",
+ "-fno-asynchronous-unwind-tables",
+ "-fno-unwind-tables",
]
# Linker flags which are passed through to the blueprint.
diff --git a/tools/gn2bp/gen_desc_json.sh b/tools/gn2bp/gen_desc_json.sh
index 1f60eb9..bf9b21d 100755
--- a/tools/gn2bp/gen_desc_json.sh
+++ b/tools/gn2bp/gen_desc_json.sh
@@ -41,27 +41,32 @@
"target_os = \"android\""
"enable_websockets = false"
"disable_file_support = true"
- "disable_brotli_filter = false"
"is_component_build = false"
"use_crash_key_stubs = true"
"use_partition_alloc = false"
"include_transport_security_state_preload_list = false"
"use_platform_icu_alternatives = true"
"default_min_sdk_version = 19"
- "use_errorprone_java_compiler = true"
"enable_reporting = true"
"use_hashed_jni_names = true"
- "treat_warnings_as_errors = false"
"enable_base_tracing = false"
"is_cronet_build = true"
"is_debug = false"
"is_official_build = true"
+ "use_nss_certs = false"
+ "clang_use_default_sample_profile = false"
+ "media_use_ffmpeg=false"
+ "use_thin_lto=false"
+ "enable_resource_allowlist_generation=false"
+ "enable_jdk_library_desugaring=false"
+ "exclude_unwind_tables=true"
+ "symbol_level=1"
)
gn_args+=("target_cpu = \"${1}\"")
# Only set arm_use_neon on arm architectures to prevent warning from being
# written to json output.
- if [[ "$1" =~ ^arm ]]; then
+ if [[ "$1" = "arm" ]]; then
gn_args+=("arm_use_neon = false")
fi